| 
														
															@@ -1,19 +1,49 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 # container-run 
														 | 
														
														 | 
														
															 # container-run 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-Сервис запускающий контейнер. 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+Образ, обеспечивающий функционал сервиса для классического docker контейнера. 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 Полезно, когда необходимо обеспечить функционал сервиса для привилегированного контейнера. 
														 | 
														
														 | 
														
															 Полезно, когда необходимо обеспечить функционал сервиса для привилегированного контейнера. 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-docker run  
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ Создание сервиса. Вместо `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 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:11 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ Для отката изменений до предыдущего состояния, достаточно стандартной команды: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    docker service rollback nginx-gost 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+     
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ Для увеличения количества запущенных копий, достаточно стандартной команды: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    docker service scale nginx-gost=3 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+     
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ Чтобы удалить контейнер с службой, достаточно: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    docker service rm nginx-gost 
														 |