средствами
DOCKER
КРОССВОРД ОТ ЮРИЯ ШЕВЧУКА
Docker is open platform for developers and sysadmins to build, ship and run distributed applications
В основе лежит cgroups (в ядре Linux с версии 2.6.24)
механизм ограничения и изоляции выч. ресурсов для исп. гр. процессов
Файловая система AuFS
альтернатива UnionFS, но более быстрая и стабильная
LXC (Linux Containers)
система виртуализации на уровне OS.
аналог FreeBSD jail и Solaris Containers.
Запустить Ubuntu и выполнить в ней echo
docker run ubuntu echo "hello from Ubuntu"
Запустить CentOS с башем и подключиться к его терминалу
docker run -ti CentOS /bin/bash
Запустить nodejs-app контейнер в бэкграунде и разрешить доступ к нему по 80-му порту
docker run -p 80:80 -d nodejs-app
Взять готовый с репозитория и изменить
docker pull, docker commit
Собрать из Dockerfile на основе существующего
docker build
Создать новый с нуля
docker create, docker import
Сохранять и загружать
docker save image > /fdd/image.tar
docker load < /fdd/image.tar
FROM ubuntu:12.04
MAINTAINER Slava Konashkov <slava.konashkov@gmail.com>
RUN apt-get update && \
apt-get install -y apache2 && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
EXPOSE 80
CMD ["/usr/sbin/apache2", "-D", "FOREGROUND"]Почти как github, только для образов
Локальный репозиторий для образов
На сервере собрки:
На docker host:
docker run -d registry:5000/web_service
________________________________________
/ Q: Why don't Scotsmen ever have coffee \
| the way they like it? A: Well, they |
| like it with two lumps of sugar. If |
| they drink |
| |
| it at home, they only take one, and if |
| they drink it while |
| |
\ visiting, they always take three. /
----------------------------------------
\
\ \_\_ _/_/
\ \__/
(oo)\_______
(__)\ )\/\
||----w |
|| ||
[!1998]|23:21:33|slava:~$ ssh root@192.168.0.35
root@192.168.0.35's password:
Last login: Thu Oct 29 08:27:14 2015 from 192.168.1.50
root@SYS005056ada9d0:ssh:~# docker
-bash: docker: command not found
root@SYS005056ada9d0:ssh:~# yum
-bash: yum: command not found
root@SYS005056ada9d0:ssh:~# gcc
-bash: gcc: command not found
root@SYS005056ada9d0:ssh:~# rpm -i docker-1.7.1-108.el7.centos.x86_64.rpm
warning: docker-1.7.1-108.el7.centos.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
/bin/bash is needed by docker-1.7.1-108.el7.centos.x86_64
/bin/sh is needed by docker-1.7.1-108.el7.centos.x86_64
device-mapper-libs >= 7:1.02.90-1 is needed by docker-1.7.1-108.el7.centos.x86_64
docker-selinux >= 1.7.1-108.el7.centos is needed by docker-1.7.1-108.el7.centos.x86_64
libc.so.6()(64bit) is needed by docker-1.7.1-108.el7.centos.x86_64
libc.so.6(GLIBC_2.14)(64bit) is needed by docker-1.7.1-108.el7.centos.x86_64
libc.so.6(GLIBC_2.2.5)(64bit) is needed by docker-1.7.1-108.el7.centos.x86_64
libc.so.6(GLIBC_2.4)(64bit) is needed by docker-1.7.1-108.el7.centos.x86_64
libdevmapper.so.1.02()(64bit) is needed by docker-1.7.1-108.el7.centos.x86_64
libdevmapper.so.1.02(Base)(64bit) is needed by docker-1.7.1-108.el7.centos.x86_64
libpthread.so.0()(64bit) is needed by docker-1.7.1-108.el7.centos.x86_64
libpthread.so.0(GLIBC_2.2.5)(64bit) is needed by docker-1.7.1-108.el7.centos.x86_64
libsqlite3.so.0()(64bit) is needed by docker-1.7.1-108.el7.centos.x86_64
lvm2 >= 2.02.112 is needed by docker-1.7.1-108.el7.centos.x86_64
rtld(GNU_HASH) is needed by docker-1.7.1-108.el7.centos.x86_64
selinux-policy >= 3.13.1-23 is needed by docker-1.7.1-108.el7.centos.x86_64
systemd is needed by docker-1.7.1-108.el7.centos.x86_64
xfsprogs is needed by docker-1.7.1-108.el7.centos.x86_64
xz is needed by docker-1.7.1-108.el7.centos.x86_64
root@SYS005056ada9d0:ssh:~#