This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
технология_docker [2022/06/28 14:46] val [Создание контейнера для приложения с использованием Dockerfile] |
технология_docker [2022/07/15 12:18] val [GitLab репозиторий] |
||
---|---|---|---|
Line 100: | Line 100: | ||
/etc/init.d/inetutils-inetd start | /etc/init.d/inetutils-inetd start | ||
- | /bin/bash | + | bash |
</code> | </code> | ||
Line 135: | Line 135: | ||
server# cat start.sh | server# cat start.sh | ||
- | ...см. выше... | + | </code><code> |
+ | #!/bin/sh | ||
+ | /etc/init.d/inetutils-inetd start | ||
+ | |||
+ | touch /var/log/webd.log | ||
+ | #chown 10003 /var/www/ | ||
+ | | ||
+ | if [ "$MYMODE" = 'TEST' ]; then | ||
+ | bash # not work in k8s | ||
+ | else | ||
+ | tail -f /var/log/webd.log | ||
+ | fi | ||
+ | </code><code> | ||
server# cat Dockerfile | server# cat Dockerfile | ||
</code><code> | </code><code> | ||
Line 146: | Line 158: | ||
COPY start.sh / | COPY start.sh / | ||
COPY webd /usr/local/sbin/webd | COPY webd /usr/local/sbin/webd | ||
- | ### ADD www.tgz /var/ | + | ### ADD www.tgz /var/ #for simple test in k8s |
+ | ###COPY index.html /var/www/ #test in k8s | ||
EXPOSE 80 | EXPOSE 80 | ||
+ | #ENV MYMODE=TEST | ||
ENTRYPOINT ["/start.sh"] | ENTRYPOINT ["/start.sh"] | ||
Line 159: | Line 173: | ||
==== Запуск в режиме демона и подключение к контейнеру ==== | ==== Запуск в режиме демона и подключение к контейнеру ==== | ||
<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 (можно добавить ключ --rm для удаления контейнера после остановки) | + | 2-й раз - через Dockerfile задан entrypoint и expose, ключ --rm для удаления контейнера после остановки |
- | server# docker run --name webd01 --hostname webd01 -itd -v /var/www/:/var/www/ -p 8000:80 test/webd | + | server# docker run --name webd01 -e MYMODE=TEST -itd --rm -P test/webd |
server# docker top webd01 | server# docker top webd01 | ||
Line 179: | Line 193: | ||
server# docker port webd01 | server# docker port webd01 | ||
+ | |||
+ | server# docker logs webd01 | ||
server# wget -qO - http://localhost:8000/ | server# wget -qO - http://localhost:8000/ | ||
Line 246: | Line 262: | ||
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 258: | Line 281: | ||
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 270: | Line 296: | ||
# 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 310: | Line 321: | ||
# 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 316: | Line 337: | ||
# 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> | ||
+ | |||
+ | ==== Локальный репозиторий ==== | ||
+ | |||
+ | * [[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> | ||