Сервис запускающий контейнер.
Полезно, когда необходимо обеспечить функционал сервиса для привилегированного контейнера.
Vadim Surkov 2208fa5e61 Revert docker stop command in entrypoint | преди 6 години | |
---|---|---|
Dockerfile | преди 6 години | |
README.md | преди 6 години | |
docker-entrypoint.sh | преди 6 години |
Образ, обеспечивающий функционал сервиса для классического docker контейнера. Полезно, когда необходимо обеспечить функционал сервиса для привилегированного контейнера.
Создание сервиса. Вместо docker run
, как при создании контейнера следует использовать docker service create --mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock --name <имя-сервиса> dev-registry.infoclinica.ru:5000/container_run:1
Пример создания сервиса для контейнера nginx-gost:
docker service create \
--mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock \
--name nginx-gost dev-registry.infoclinica.ru:5000/container_run:1 \
-p 443:443 -p 80:80 --network=proxy \
--privileged --security-opt seccomp=unconfined \
--tmpfs /run --tmpfs /run/lock \
-v /sys/fs/cgroup:/sys/fs/cgroup:ro \
-e "ADMIN_LAB=dev-admin-lab.infoclinica.lan" \
-e "ADMIN_WEB=dev-admin-web.infoclinica.lan" \
-e "NODE_LAB=node-lab.infoclinica.lan" \
-e "NODE_WEB=node-web.infoclinica.lan" \
dev-registry.infoclinica.ru:5000/nginx-gost:10
Так как параметры рабочего контейнера переданы как "командная строка" сервиса, то обновлять версию образа рабочего контейнера нужно через изменение "командной строки" при помощи директивы --args
команды docker service update
. Пример изменения версии nginx-gost:10 на nginx-gost:11 :
docker service update \
--args "-p 443:443 -p 80:80 --network=proxy \
--privileged --security-opt seccomp=unconfined \
--tmpfs /run --tmpfs /run/lock \
-v /sys/fs/cgroup:/sys/fs/cgroup:ro \
-e "ADMIN_LAB=dev-admin-lab.infoclinica.lan" \
-e "ADMIN_WEB=dev-admin-web.infoclinica.lan" \
-e "NODE_LAB=node-lab.infoclinica.lan" \
-e "NODE_WEB=node-web.infoclinica.lan" \
dev-registry.infoclinica.ru:5000/nginx-gost:11" \
nginx-gost
Для отката изменений до предыдущего состояния, достаточно стандартной команды:
docker service rollback nginx-gost
Для увеличения количества запущенных копий, достаточно стандартной команды:
docker service scale nginx-gost=3
Чтобы удалить контейнер с службой, достаточно:
docker service rm nginx-gost