Docker: различия между версиями
FireWolf (обсуждение | вклад) |
FireWolf (обсуждение | вклад) |
||
(не показано 18 промежуточных версий этого же участника) | |||
Строка 5: | Строка 5: | ||
Add the docker group if it doesn't already exist: | Add the docker group if it doesn't already exist: | ||
<syntaxhighlight lang="bash"> | |||
sudo groupadd docker | sudo groupadd docker | ||
</syntaxhighlight> | |||
Add the connected user "${USER}" to the docker group. Change the user name to match your preferred user: | Add the connected user "${USER}" to the docker group. Change the user name to match your preferred user: | ||
<syntaxhighlight lang="bash"> | |||
sudo gpasswd -a ${USER} docker | sudo gpasswd -a ${USER} docker | ||
</syntaxhighlight> | |||
Restart the Docker daemon: | Restart the Docker daemon: | ||
<syntaxhighlight lang="bash"> | |||
sudo service docker restart | sudo service docker restart | ||
</syntaxhighlight> | |||
If you are on Ubuntu 14.04-15.10* use docker.io instead: | If you are on Ubuntu 14.04-15.10* use docker.io instead: | ||
<syntaxhighlight lang="bash"> | |||
sudo service docker.io restart | |||
</syntaxhighlight> | |||
= Информация о запущенном контейнере = | |||
<syntaxhighlight lang="bash"> | |||
docker inspect 38ffba0fc7d0 | |||
</syntaxhighlight> | |||
Выводит полные настройки, в том числе IP-адрес контейнера. | |||
= Запуск шелла внутри докера = | |||
<syntaxhighlight lang="bash"> | |||
docker exec -ti 38ffba0fc7d0 /bin/sh | |||
</syntaxhighlight> | |||
= Удаление не нужных образов = | = Удаление не нужных образов = | ||
Строка 24: | Строка 40: | ||
docker rmi $(docker images | grep "<none>" | awk "{print \$3}") | docker rmi $(docker images | grep "<none>" | awk "{print \$3}") | ||
</syntaxhighlight> | </syntaxhighlight> | ||
https://lebkowski.name/docker-volumes/ | |||
<syntaxhighlight lang="bash"> | |||
docker ps --filter status=dead --filter status=exited -aq | xargs docker rm -v | |||
docker volume ls -qf dangling=true | xargs -r docker volume rm | |||
</syntaxhighlight> | |||
= Добавление файла в образ и работа с ним = | |||
Добавляем необходимый сертификат в образ openjdk:8-jre-alpine чтобы java могла без ошибок соединяться по TLS с учетом не корректной настройки удаленного сервера: | |||
<syntaxhighlight lang="bash"> | |||
ADD certificate.der /root/certificate.der | |||
RUN keytool -importcert -alias local-certificate-CA \ | |||
-keystore /etc/ssl/certs/java/cacerts -storepass changeit \ | |||
-file /root/certificate.der && \ | |||
rm /root/certificate.der | |||
</syntaxhighlight> | |||
Файл должен быть расположен в директории с Dockerfile. | |||
= Официальные образы = | |||
https://hub.docker.com/_/redmine/ | |||
= Удаление цветного оформления из логов = | |||
https://makandracards.com/makandra/1695-removing-ansi-color-codes-from-rails-logs | |||
<syntaxhighlight lang="bash"> | |||
docker logs ID | sed -r "s/\x1B\[([0-9]{1,3}((;[0-9]{1,3})*)?)?[m|K]//g" > result.colorless.log | |||
</syntaxhighlight> | |||
= Запуск кластера с применением docker swarm = | |||
# ставим docker ce 18.03 | |||
# ставим docker-machine (надо ли?) | |||
# docker swarm init --advertise-addr 192.168.0.X | |||
# подключем на другой машине docker swarm worker: docker swarm join --token SWMTKN-1-XXX-YYY 192.168.0.X:2377 | |||
# docker stack deploy kafka --compose-file kafka1.yml | |||
# docker service scale kafka_zookeeper=2 kafka_kafka=2 | |||
Тут не получилось связать все в единый кластер. Каждый за себя. | |||
= docker login = | |||
<syntaxhighlight lang="bash"> | |||
docker login s3-testing.myregistry.com:4567 | |||
</syntaxhighlight> | |||
= docker run = | |||
docker run --rm -i c6c42753f80d /bin/sh | |||
= Default timezone = | |||
docker run --rm -e TZ=Europe/Amsterdam -i c6c42753f80d /bin/sh | |||
[[Категория:Работа]] | [[Категория:Работа]] | ||
[[Категория:Linux]] | [[Категория:Linux]] |
Текущая версия на 09:35, 17 июня 2019
Настройка для пользователя
http://askubuntu.com/questions/477551/how-can-i-use-docker-without-sudo/477554#477554
Add the docker group if it doesn't already exist:
sudo groupadd docker
Add the connected user "${USER}" to the docker group. Change the user name to match your preferred user:
sudo gpasswd -a ${USER} docker
Restart the Docker daemon:
sudo service docker restart
If you are on Ubuntu 14.04-15.10* use docker.io instead:
sudo service docker.io restart
Информация о запущенном контейнере
docker inspect 38ffba0fc7d0
Выводит полные настройки, в том числе IP-адрес контейнера.
Запуск шелла внутри докера
docker exec -ti 38ffba0fc7d0 /bin/sh
Удаление не нужных образов
docker rmi $(docker images | grep "<none>" | awk "{print \$3}")
https://lebkowski.name/docker-volumes/
docker ps --filter status=dead --filter status=exited -aq | xargs docker rm -v
docker volume ls -qf dangling=true | xargs -r docker volume rm
Добавление файла в образ и работа с ним
Добавляем необходимый сертификат в образ openjdk:8-jre-alpine чтобы java могла без ошибок соединяться по TLS с учетом не корректной настройки удаленного сервера:
ADD certificate.der /root/certificate.der
RUN keytool -importcert -alias local-certificate-CA \
-keystore /etc/ssl/certs/java/cacerts -storepass changeit \
-file /root/certificate.der && \
rm /root/certificate.der
Файл должен быть расположен в директории с Dockerfile.
Официальные образы
https://hub.docker.com/_/redmine/
Удаление цветного оформления из логов
https://makandracards.com/makandra/1695-removing-ansi-color-codes-from-rails-logs
docker logs ID | sed -r "s/\x1B\[([0-9]{1,3}((;[0-9]{1,3})*)?)?[m|K]//g" > result.colorless.log
Запуск кластера с применением docker swarm
- ставим docker ce 18.03
- ставим docker-machine (надо ли?)
- docker swarm init --advertise-addr 192.168.0.X
- подключем на другой машине docker swarm worker: docker swarm join --token SWMTKN-1-XXX-YYY 192.168.0.X:2377
- docker stack deploy kafka --compose-file kafka1.yml
- docker service scale kafka_zookeeper=2 kafka_kafka=2
Тут не получилось связать все в единый кластер. Каждый за себя.
docker login
docker login s3-testing.myregistry.com:4567
docker run
docker run --rm -i c6c42753f80d /bin/sh
Default timezone
docker run --rm -e TZ=Europe/Amsterdam -i c6c42753f80d /bin/sh