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/06/30 08:20]
val [Создание контейнера для приложения с использованием Dockerfile]
технология_docker [2022/08/18 14:31]
val [Запуск в режиме демона и подключение к контейнеру]
Line 116: Line 116:
  
 Ctrl+D Ctrl+D
 +
 +  * [[https://​cpab.ru/​kak-rabotajut-tegi-docker-cloudsavvy-it/​|Как работают теги Docker?]]
  
 <​code>​ <​code>​
Line 140: Line 142:
 /​etc/​init.d/​inetutils-inetd start /​etc/​init.d/​inetutils-inetd start
  
-###bash # not work in k8s +touch /​var/​log/​webd.log 
-tail -/​var/​log/​webd.log+#chown 10003 /var/www/ 
 +   
 +if [ "​$MYMODE"​ = '​TEST'​ ]; then 
 +  ​bash      # not work in k8s 
 +else 
 +  ​tail -/​var/​log/​webd.log 
 +fi
 </​code><​code>​ </​code><​code>​
 server# cat Dockerfile server# cat Dockerfile
Line 152: Line 160:
 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 166: Line 175:
 ==== Запуск в режиме демона и подключение к контейнеру ==== ==== Запуск в режиме демона и подключение к контейнеру ====
 <​code>​ <​code>​
-1-й раз+1-й раз ​- запуск образа сделанного "​вручную"​
  
 server# docker run --name webd01 --hostname webd01 -itd -v /​var/​www/:/​var/​www/​ -p 8000:80 test/webd /start.sh server# docker run --name webd01 --hostname webd01 -itd -v /​var/​www/:/​var/​www/​ -p 8000:80 test/webd /start.sh
  
-2-й раз задан entrypoint и expose ​(можно добавить ​ключ --rm для удаления контейнера после остановки)+2-й раз ​- через Dockerfile ​задан entrypoint и exposeключ --rm для удаления контейнера после остановки
  
-server# docker run --name webd01 --hostname webd01 ​-itd -v /​var/​www/:/​var/​www/ ​-P test/webd+server# docker run --name webd01 -e MYMODE=TEST ​-itd --rm -P test/webd
  
 server# docker top webd01 server# docker top webd01
Line 190: Line 199:
  
 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 255: Line 267:
   webd:   webd:
     image: test/webd     image: test/webd
 +#    image: server.corp13.un:​5000/​student/​webd:​1.1
     build: webd/     build: webd/
     ports:     ports:
       - "​8000:​80"​       - "​8000:​80"​
 +#      - "​80"​
     volumes:     volumes:
       - /​var/​www/:/​var/​www/​       - /​var/​www/:/​var/​www/​
 +#      - vol1:/​var/​www/​
 +
 +#    environment:​
 +#      - MYMODE=TEST
 +#    stdin_open: true
     tty: true     tty: true
   sftp:   sftp:
Line 267: Line 286:
     volumes:     volumes:
       - /​var/​www/:/​home/​user3/​www       - /​var/​www/:/​home/​user3/​www
 +#      - vol1:/​home/​user3/​www
     command: user3:​password3:​10003     command: user3:​password3:​10003
 +#volumes:
 +#  vol1:
 </​code><​code>​ </​code><​code>​
 # docker-compose build # docker-compose build
Line 279: Line 301:
 # docker-compose down # docker-compose down
  
-# docker-compose rm    #​Возможно,​ не требуется +# docker-compose rm
-</​code>​ +
-===== Дополнительные материалы =====+
  
-==== Локальный репозиторий ==== +# docker ​volume rm root_vol1
- +
- * [[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>​
  
-==== 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 319: Line 326:
 # docker login http://​server.corpX.un:​5000 # docker login http://​server.corpX.un:​5000
  
 +# less ~/​.docker/​config.json
 +</​code><​code>​
 +{
 +        "​auths":​ {
 +                "​server.corp13.un:​5000":​ {
 +                        "​auth":​ "​c3R1ZGVudDpwYXNzd29yZA=="​
 +                }
 +        }
 +}
 +</​code><​code>​
 # docker tag test/webd server.corpX.un:​5000/​student/​webd # docker tag test/webd server.corpX.un:​5000/​student/​webd
 # docker tag test/webd server.corpX.un:​5000/​student/​webd:​wwwdir # docker tag test/webd server.corpX.un:​5000/​student/​webd:​wwwdir
Line 325: Line 342:
 # docker push server.corpX.un:​5000/​student/​webd:​wwwdir # docker push server.corpX.un:​5000/​student/​webd:​wwwdir
 ... ...
-# docker run --name webd01 --hostname webd01 -itd -p 8000:80 server.corp13.un:​5000/​student/​webd:​wwwdir+# docker run --name webd01 --hostname webd01 -itd --rm -p 8000:80 server.corpX.un:​5000/​student/​webd 
 +</​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/14 16:52 by val