Сервис запускающий контейнер.
Полезно, когда необходимо обеспечить функционал сервиса для привилегированного контейнера.
				
			
| 
				
					 | 
			преди 7 години | |
|---|---|---|
| Dockerfile | преди 7 години | |
| README.md | преди 7 години | |
| docker-entrypoint.sh | преди 7 години | 
Образ, обеспечивающий функционал сервиса для классического 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