User Tools

Site Tools


технология_docker

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
технология_docker [2022/07/04 19:08]
val [docker-compose]
технология_docker [2022/09/12 13:24]
val [Запуск в режиме демона и подключение к контейнеру]
Line 116: Line 116:
  
 Ctrl+D Ctrl+D
 +
 +  * [[https://​cpab.ru/​kak-rabotajut-tegi-docker-cloudsavvy-it/​|Как работают теги Docker?]]
  
 <​code>​ <​code>​
Line 129: Line 131:
 <​code>​ <​code>​
 server# mkdir /root/webd/ && cd /root/webd/ server# mkdir /root/webd/ && cd /root/webd/
 +  или
 +node1# mkdir -p /​root/​webd/​webd/​ && cd /​root/​webd/​webd/​
  
 server# mv /​usr/​local/​sbin/​webd . server# mv /​usr/​local/​sbin/​webd .
Line 158: Line 162:
 COPY start.sh / COPY start.sh /
 COPY webd /​usr/​local/​sbin/​webd COPY webd /​usr/​local/​sbin/​webd
-### ADD www.tgz /var/     ​#for simple test in k8s+### ADD www.tgz /var/          #for simple ​test in k8s 
 +###COPY index.html /​var/​www/ ​  #test in k8s
  
 EXPOSE 80 EXPOSE 80
Line 179: Line 184:
  
 server# docker run --name webd01 -e MYMODE=TEST -itd --rm -P test/webd server# docker run --name webd01 -e MYMODE=TEST -itd --rm -P test/webd
 +
 +3-й раз - проверка локалного репозитория
 +
 +# docker run --name webd01 -itd --rm -P server.corp13.un:​5000/​student/​webd:​1.1
  
 server# docker top webd01 server# docker top webd01
Line 184: Line 193:
 server# ps axw | grep inetd server# ps axw | grep inetd
 server# cat /​proc/<​PID>/​cgroup server# cat /​proc/<​PID>/​cgroup
 +</​code>​
 +  * [[Технология cgroup]]
 +<​code>​
 +server# cat /​sys/​fs/​cgroup/​system.slice/​docker-NNNNNNNNNNNNNNNNNNNNNNNNNNNNN.scope/​memory.max
  
 server# docker inspect webd01 server# docker inspect webd01
Line 194: Line 207:
  
 server# docker logs webd01 server# docker logs webd01
 +
 +node1# docker logs webd01 -f
  
 server# wget -qO - http://​localhost:​8000/​ server# wget -qO - http://​localhost:​8000/​
 +
 +node1# curl http://​localhost:​8000
 +node1# curl http://​localhost:​8000/​not_exit_file
  
 host browser -> http://​server.corpX.un:​8000/​ host browser -> http://​server.corpX.un:​8000/​
Line 249: Line 267:
  
   * [[https://​habr.com/​ru/​company/​ruvds/​blog/​450312/​|Руководство по Docker Compose для начинающих]]   * [[https://​habr.com/​ru/​company/​ruvds/​blog/​450312/​|Руководство по Docker Compose для начинающих]]
 +  * [[https://​stackoverflow.com/​questions/​39663096/​docker-compose-creating-multiple-instances-for-the-same-image|docker-compose creating multiple instances for the same image]]
  
 <​code>​ <​code>​
Line 261: Line 280:
   webd:   webd:
     image: test/webd     image: test/webd
-#    image: server.corp13.un:​5000/​student/​webd:​1.1 
     build: webd/     build: webd/
     ports:     ports:
Line 274: Line 292:
 #    stdin_open: true #    stdin_open: true
     tty: true     tty: true
 +    ​
   sftp:   sftp:
     image: atmoz/sftp     image: atmoz/sftp
Line 298: Line 317:
  
 # docker volume rm root_vol1 # docker volume rm root_vol1
-</​code>​ +</code><​code> 
-===== Дополнительные материалы =====+node2_3# cat docker-compose.yml 
 +</​code><​code>​ 
 +version: "​3"​ 
 +services: 
 +  webd: 
 +    image: server.corpX.un:​5000/​student/​webd:​1.1 
 +    ports: 
 +      - "​80"​ 
 +    volumes: 
 +      - /​var/​www/:/​var/​www/​ 
 +    deploy: 
 +      mode: replicated 
 +      replicas: 3 
 +</​code><​code>​ 
 +node2_3# docker-compose up -d --scale webd=3
  
-==== Локальный репозиторий ====+  ​или
  
- * [[https://​docs.docker.com/​registry/​|Docker Registry]]+node2_3# ​docker-compose --compatibility up -d 
 +node2_3# docker-compose --compatibility down
  
-<​code>​ 
-gate# docker run -d -p 5000:5000 -v /​root:/​certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/​certs/​gate.crt -e REGISTRY_HTTP_TLS_KEY=/​certs/​gate.key --name registry registry:2 
  
-node1cp ~vagrant/​gate.crt /etc/docker/​certs.d/​gate.corp13.un\:​5000/​ca.crt +node2_3# docker ​ps -q | xargs -l docker port
- +
-node1# service docker restart +
- +
-node1# docker tag val/​webd:​latest gate.corp13.un:​5000/​webd +
- +
-node1# docker push gate.corp13.un:​5000/​webd +
- +
-node1# curl --insecure -X GET https://​gate.corp13.un:​5000/​v2/​_catalog +
-{"​repositories":​["​webd"​]}+
 </​code>​ </​code>​
  
-==== GitLab ​репозиторий ====+===== Локальные ​репозитории ===== 
 + 
 +==== Insecure Private Registry ​====
  
   * [[Инструмент GitLab#​GitLab Docker Registry]]   * [[Инструмент GitLab#​GitLab Docker Registry]]
 +  * [[https://​docs.docker.com/​registry/​insecure/​|Test an insecure registry/​Deploy a plain HTTP registry]]
  
 <​code>​ <​code>​
Line 337: Line 363:
 # docker login http://​server.corpX.un:​5000 # docker login http://​server.corpX.un:​5000
  
-docker tag test/webd server.corpX.un:​5000/student/​webd +less ~/.docker/config.json 
-# docker tag test/webd server.corpX.un:5000/​student/​webd:wwwdir+</code><​code>​ 
 +
 +        "​auths":​ { 
 +                "server.corp13.un:5000"
 +                        "​auth":​ "​c3R1ZGVudDpwYXNzd29yZA=="​ 
 +                } 
 +        } 
 +
 +</​code>​
  
-# docker push server.corpX.un:​5000/​student/​webd +  * [[https://​serverfault.com/​questions/​703344/​how-to-remove-an-image-tag-in-docker-without-removing-the-image-itself|How to remove an image tag in Docker without removing the image itself?]] 
-# docker push server.corpX.un:​5000/​student/​webd:​wwwdir+ 
 +<​code>​ 
 +node1# docker tag test/webd server.corpX.un:​5000/​student/​webd 
 +node1# docker tag test/webd server.corpX.un:​5000/​student/​webd:​1.1 
 + 
 +node1# docker push server.corpX.un:​5000/​student/​webd 
 +node1# docker push server.corpX.un:​5000/​student/​webd:​1.1
 ... ...
-# docker run --name webd01 --hostname webd01 -itd -p 8000:80 server.corp13.un:​5000/​student/​webd:​wwwdir+node2# docker run --name webd01 --hostname webd01 -itd --rm -p 8000:80 server.corpX.un:​5000/​student/​webd:​1.1 
 +</​code>​ 
 + 
 +==== Использование образа Docker Registry ==== 
 + 
 +  * [[https://​docs.docker.com/​registry/​|Docker Registry]] 
 + 
 +<​code>​ 
 +gate# docker run -d -p 5000:5000 -v /​root:/​certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/​certs/​gate.crt -e REGISTRY_HTTP_TLS_KEY=/​certs/​gate.key --name registry registry:​2 
 + 
 +node1# cp ~vagrant/​gate.crt /​etc/​docker/​certs.d/​gate.corp13.un\:​5000/​ca.crt 
 + 
 +node1# service docker restart 
 + 
 +node1# docker tag val/​webd:​latest gate.corp13.un:​5000/​webd 
 + 
 +node1# docker push gate.corp13.un:​5000/​webd 
 + 
 +node1# curl --insecure -X GET https://​gate.corp13.un:​5000/​v2/​_catalog 
 +{"​repositories":​["​webd"​]}
 </​code>​ </​code>​
  
технология_docker.txt · Last modified: 2024/05/30 08:05 by val