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/15 12:19]
val [Локальный репозиторий]
технология_docker [2022/09/26 20:24]
val [Insecure Private Registry]
Line 103: Line 103:
 </​code>​ </​code>​
  
-"Забыли"​ сделать скрипт start.sh "​выполнимым"​ нажали Ctrl+D+  * Методически, ​"забыли"​ сделать скрипт start.sh "​выполнимым"​ нажали Ctrl+D
  
 <​code>​ <​code>​
Line 115: Line 115:
 </​code>​ </​code>​
  
-Ctrl+D+  * Методически,​ можно уже на этом этапе: запустить скрипт,​ отключится от контейнера без его остановки,​ выяснить назначенный контейнеру ip, проверить работу приложения (см. дальше) и, если все работает,​ делать commit  
 + 
 +  * [[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/
 +  или
 +gitlab-runner@server:​~$ mkdir -p webd/webd/ && cd webd/webd/
  
-server# ​mv /​usr/​local/​sbin/​webd .+server# ​cp /​usr/​local/​sbin/​webd .
  
 server# ###tar -cvzf www.tgz -C /var/ www/ server# ###tar -cvzf www.tgz -C /var/ www/
Line 154: Line 158:
 FROM debian:​bullseye FROM debian:​bullseye
  
-RUN apt-get update && apt-get install -y inetutils-inetd file && echo 'www stream tcp nowait root /​usr/​local/​sbin/​webd webd' > /​etc/​inetd.conf+RUN cp /​usr/​share/​zoneinfo/​Etc/​GMT-3 /​etc/​localtime \ 
 +    && ​apt-get update ​
 +    ​&& apt-get install -y inetutils-inetd file 
 +    ​&& echo 'www stream tcp nowait root /​usr/​local/​sbin/​webd webd' > /​etc/​inetd.conf
  
 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/ 
-###COPY index.html /​var/​www/ ​  #test in k8s+ 
 +### for helm releases ​test 
 +### COPY index.html /var/www/
  
 EXPOSE 80 EXPOSE 80
Line 180: Line 189:
  
 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
 +</​code>​ 
 +Процессы контейнера и системы 
 +<​code>​
 server# docker top webd01 server# docker top webd01
  
 server# ps axw | grep inetd server# ps axw | grep inetd
 +
 server# cat /​proc/<​PID>/​cgroup server# cat /​proc/<​PID>/​cgroup
 +</​code>​
 +  * [[Технология cgroup]]
 +<​code>​
 +server# find /​sys/​fs/​cgroup/​ | grep NNNNNNNNNNNNNNNNNNNNNNNNNNNNN | grep memory.max
  
 +server# systemd-cgls
 +</​code>​
 +Анализ параметров запуска контейнера
 +<​code>​
 server# docker inspect webd01 server# docker inspect webd01
  
Line 191: Line 211:
  
 server# wget -qO - http://​172.17.0.2/​ server# wget -qO - http://​172.17.0.2/​
 +server$ curl --noproxy '​*'​ http://​172.17.0.2/​
  
 server# docker port webd01 server# docker port webd01
  
 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/​
 +server$ curl http://​localhost:​8000
 +server$ curl http://​localhost:​8000/​not_exit_file
  
 host browser -> http://​server.corpX.un:​8000/​ host browser -> http://​server.corpX.un:​8000/​
Line 250: Line 275:
  
   * [[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 262: Line 288:
   webd:   webd:
     image: test/webd     image: test/webd
-#    image: server.corp13.un:​5000/​student/​webd:​1.1 
     build: webd/     build: webd/
     ports:     ports:
Line 275: Line 300:
 #    stdin_open: true #    stdin_open: true
     tty: true     tty: true
 +    ​
   sftp:   sftp:
     image: atmoz/sftp     image: atmoz/sftp
Line 299: Line 325:
  
 # docker volume rm root_vol1 # docker volume rm root_vol1
 +</​code><​code>​
 +gitlab-runner@server:​~/​webd$ cat docker-compose.yml
 +</​code><​code>​
 +version: "​3"​
 +services:
 +  webd:
 +    image: server.corpX.un:​5000/​student/​webd:​ver1.N
 +    ports:
 +      - "​80"​
 +    volumes:
 +      - /​var/​www/:/​var/​www/​
 +    deploy:
 +      mode: replicated
 +      replicas: 3
 +</​code><​code>​
 +node1,2,3# docker-compose up -d --scale webd=3
 +
 +  или
 +
 +node1,2,3# docker-compose --compatibility up -d
 +node1,2,3# docker-compose --compatibility down
 +
 +
 +node1,2,3# docker ps -q | xargs -l docker port
 </​code>​ </​code>​
  
-===== Репозиторий =====+===== Локальные репозитории =====
  
 ==== Insecure Private Registry ==== ==== Insecure Private Registry ====
Line 311: Line 361:
 # cat /​etc/​docker/​daemon.json # cat /​etc/​docker/​daemon.json
 </​code><​code>​ </​code><​code>​
-... 
 { {
   "​insecure-registries"​ : ["​server.corpX.un:​5000"​]   "​insecure-registries"​ : ["​server.corpX.un:​5000"​]
 } }
-... 
 </​code><​code>​ </​code><​code>​
 # service docker restart # service docker restart
  
-docker login http://​server.corpX.un:​5000+gitlab-runner@server:​~$ ​docker login http://​server.corpX.un:​5000
  
-less ~/​.docker/​config.json+gitlab-runner@server:​~$ ​less ~/​.docker/​config.json
 </​code><​code>​ </​code><​code>​
 { {
         "​auths":​ {         "​auths":​ {
-                "​server.corp13.un:​5000":​ {+                "​server.corpX.un:​5000":​ {
                         "​auth":​ "​c3R1ZGVudDpwYXNzd29yZA=="​                         "​auth":​ "​c3R1ZGVudDpwYXNzd29yZA=="​
                 }                 }
         }         }
 } }
-</​code><​code>​ +</​code>​ 
-docker tag test/webd server.corpX.un:​5000/​student/​webd + 
-docker tag test/webd server.corpX.un:​5000/​student/​webd:​wwwdir+  * [[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?]] 
 + 
 +<​code>​ 
 +gitlab-runner@server:​~$ ​docker tag test/webd server.corpX.un:​5000/​student/​webd 
 +gitlab-runner@server:​~$ ​docker tag test/webd server.corpX.un:​5000/​student/​webd:​1.1 
 + 
 +gitlab-runner@server:​~$ docker images
  
-docker push server.corpX.un:​5000/​student/​webd +gitlab-runner@server:​~$ ​docker push server.corpX.un:​5000/​student/​webd 
-docker push server.corpX.un:​5000/​student/​webd:​wwwdir+gitlab-runner@server:​~$ ​docker push server.corpX.un:​5000/​student/​webd:​1.1
 ... ...
-# docker run --name webd01 --hostname webd01 -itd --rm -p 8000:80 server.corpX.un:​5000/​student/​webd+node1_2_3# docker run --name webd01 --hostname webd01 -itd --rm -p 8000:80 server.corpX.un:​5000/​student/​webd
 </​code>​ </​code>​
  
технология_docker.txt · Last modified: 2022/09/30 13:36 by val