Инструменты пользователя

Инструменты сайта


технология_docker

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
технология_docker [2019/10/17 15:48]
val [Создание контейнера для приложения вручную]
технология_docker [2019/11/08 15:41] (текущий)
val [docker-compose]
Строка 7: Строка 7:
   * [[https://​www.katacoda.com/​]]   * [[https://​www.katacoda.com/​]]
   * [[https://​habr.com/​ru/​company/​southbridge/​blog/​310606/​|Кластер Docker Swarm за 30 секунд]]   * [[https://​habr.com/​ru/​company/​southbridge/​blog/​310606/​|Кластер Docker Swarm за 30 секунд]]
 +===== Методические идеи =====
 +
 +  * Добавить запись в журнал передаваемых скрипту webd заголовков
 +  * Использовать переменную окружения,​ передаваемую контейнеру для включения/​выключения режима отладки/​записи в журнал ​
 +
 ===== Установка ===== ===== Установка =====
  
Строка 48: Строка 53:
  
 # docker rmi hello-world # docker rmi hello-world
 +
 +# docker rmi -f $(docker images -aq)
 +
 +# docker system prune -a --volumes
 </​code>​ </​code>​
 +
 +
  
 ==== Создание контейнера для приложения вручную ==== ==== Создание контейнера для приложения вручную ====
  
-  ​[[Средства программирования shell#Web сервер на shell]] ​!!! каталог и содержимое /var/www создать в хост системе а скрипт webd в контейнере+ 
 +  ​* !!! каталог и содержимое /var/www создать в хост системе а скрипт webd в контейнере 
 +  * [[Средства программирования shell#​Ресурсы Web сервера на shell]]  
 <​code>​ <​code>​
 server# docker run -it --name webd --hostname webd debian bash server# docker run -it --name webd --hostname webd debian bash
  
-webd# apt update && apt install ​inetutils-inetd ​file procps nano+webd# apt update && apt install file procps nano
 </​code>​ </​code>​
  
   * [[Сервис INETD]]   * [[Сервис INETD]]
 +  * [[Средства программирования shell#Web сервер на shell]]
  
 <​code>​ <​code>​
Строка 71: Строка 86:
 </​code>​ </​code>​
  
-Ctrl+D+"​Забыли"​ сделать скрипт "​выполнимым"​ нажали ​Ctrl+D
  
 <​code>​ <​code>​
Строка 121: Строка 136:
 ==== Запуск в режиме демона и подключение к контейнеру ==== ==== Запуск в режиме демона и подключение к контейнеру ====
 <​code>​ <​code>​
-server# docker run --name webd01 --hostname webd01 --rm -itd -v /​var/​www/:/​var/​www/​ -p 8000:80 test/webd /start.sh +1-й раз
-  или, если ​задан entrypoint +
-server# docker run --name webd01 --hostname webd01 --rm -itd -v /​var/​www/:/​var/​www/​ -p 8000:80 test/webd+
  
-server# docker ​inspect ​webd01 ​+server# docker ​run --name ​webd01 ​--hostname webd01 -itd -v /​var/​www/:/​var/​www/​ -p 8000:80 test/webd /start.sh
  
-server# docker top webd01 ​+2-й раз задан entrypoint и добавлен ключ --rm для удаления контейнера после остановки 
 + 
 +server# docker run --name webd01 --hostname webd01 -itd -v /​var/​www/:/​var/​www/​ -p 8000:80 test/webd 
 + 
 +server# docker top webd01 
 + 
 +server# docker inspect ​webd01 ​
  
 server# wget -qO - http://​172.17.0.2/​index.html server# wget -qO - http://​172.17.0.2/​index.html
 +
 +server# docker port webd01
  
 server# wget -qO - http://​localhost:​8000/​index.html server# wget -qO - http://​localhost:​8000/​index.html
 +
 +host browser -> http://​server.corpX.un:​8000/​index.html
  
 server# docker attach webd01 ​ server# docker attach webd01 ​
Строка 140: Строка 163:
  
 server# docker stop webd01 ​ server# docker stop webd01 ​
 +
 +server# docker inspect webd01 ​
 +
 +server# docker start webd01 ​
 +
 +host browser -> http://​server.corpX.un:​8000/​index.html
 +
 +server# docker stop webd01 && docker rm webd01
 </​code>​ </​code>​
  
Строка 149: Строка 180:
 # chown -R 10001 /var/www # chown -R 10001 /var/www
  
-# docker run --name sftp01 ​--rm -v /​var/​www:/​home/​user1/​www -p 2222:22 -d atmoz/sftp user1:​password1:​10001+# docker run --name sftp01 -v /​var/​www:/​home/​user1/​www -p 2222:22 -d atmoz/sftp user1:​password1:​10001
  
 # docker exec -it sftp01 bash # docker exec -it sftp01 bash
 +</​code>​ 
 +Ctrl+D 
 +<​code>​
 # docker top sftp01 # docker top sftp01
 +
 +# docker stop sftp01
 </​code>​ </​code>​
  
 +===== docker-compose =====
 +
 +  * [[https://​habr.com/​ru/​company/​ruvds/​blog/​450312/​|Руководство по Docker Compose для начинающих]]
 +
 +<​code>​
 +# cat docker-compose.yml
 +</​code><​code>​
 +version: "​3"​
 +services:
 +  webd:
 +    image: test/webd
 +    build: webd/
 +    ports:
 +      - "​8000:​80"​
 +    volumes:
 +      - /​var/​www/:/​var/​www/​
 +    tty: true
 +  sftp:
 +    image: atmoz/sftp
 +    ports:
 +      - "​2222:​22"​
 +    volumes:
 +      - /​var/​www/:/​home/​user1/​www
 +    command: user1:​password1:​10001
 +</​code><​code>​
 +# docker-compose build
 +
 +# docker-compose up -d
 +
 +# docker-compose stop
 +
 +# docker-compose start
 +
 +# docker-compose down
 +</​code>​
 ===== Дополнительные материалы ===== ===== Дополнительные материалы =====
  
технология_docker.1571316505.txt.gz · Последние изменения: 2019/10/17 15:48 — val