Docker - nalcheg/wiki GitHub Wiki

Docker run parameters

  • ports -p [host port]:[container port]
  • volumes -v [host path]:[container path]
  • restart --restart=always
  • run with current user:
-v /etc/passwd:/etc/passwd:ro \
-v /etc/group:/etc/group:ro \
--user $(id -u):$(id -g) \

Example

docker run -dti --name containerName -h containerName \
           -p 41230:22 -v /var/www/:/var/www/ --restart=always \
           debian:latest

Dockerfile

сборка контейнера (в директории с Dokerfile)
docker build -t %NAME% .

PHP daemon with Supervisor
FROM php:7.1.9-alpine

RUN apk add --no-cache bash supervisor libxml2-dev RUN mkdir /var/log/supervisor/ RUN mkdir /var/log/spvisor/ #RUN mkdir -p /var/services/avia/pricing/ RUN ln -s /usr/local/bin/php /usr/bin/php RUN docker-php-ext-install bcmath mysqli simplexml xml pdo pdo_mysql

COPY entry.bash / COPY supervisor/ /etc/supervisor/ #COPY sd-autobooking-registry/ /var/services/avia/pricing/sd-autobooking-registry/

VOLUME /var/services/

EXPOSE 9001

ENTRYPOINT /entry.bash (или 'CMD /entry.bash')

Some Docker useful containers

Rabbitmq
docker run -d --hostname rabbit --name rabbit -p 15672:15672 -p 5671:5671 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password --restart=always rabbitmq:3-management-alpine
Portainer EE, with admin password = `adminadminadmin`
docker rm -f portainer
docker pull portainer/portainer-ee
docker run -d --hostname portainer --name portainer -p 127.0.0.1:9002:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer-ee --admin-password '$2y$05$5Aj8eLs.17WkWB6MNKB2u.Np3yn2mPsn/mgikzY0rgYQfEcWw/7wO'
Portainer, with admin password = `adminadminadmin`
docker rm -f portainer
docker pull portainer/portainer-ce
docker run -d --hostname portainer --name portainer -p 127.0.0.1:9002:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer-ce --admin-password '$2y$05$5Aj8eLs.17WkWB6MNKB2u.Np3yn2mPsn/mgikzY0rgYQfEcWw/7wO'
Webdevops Dockerfile example
#!/usr/bin/env bash
#docker run -d -t \
docker run -ti --rm \
        -v `pwd`:/app/ \
        -p 22280:80 \
        -e WEB_DOCUMENT_ROOT="/app/web/" \
        -e PHP_DEBUGGER="xdebug" \
        -e XDEBUG_REMOTE_AUTOSTART="1" \
        -e XDEBUG_REMOTE_HOST="10.0.0.1" \
        -e XDEBUG_REMOTE_PORT="9001" \
        -e PHP_IDE_CONFIG="serverName=_" \
        --name container_name \
        webdevops/php-nginx-dev:7.4

networks reservations

docker network create --subnet 172.19.0.0/16 reserved-172-19-0-0-16
docker network create --subnet 172.23.0.0/16 reserved-172-23-0-0-16

you should manually delete reservation bridge interface ip address after docker service restart

sudo ip a d 172.20.0.1/16 dev br-d72da84fb380

resolve Docker net names from host

https://hub.docker.com/r/defreitas/dns-proxy-server/

multi-service container

links

https://docs.docker.com/engine/admin/multi-service_container/ https://success.docker.com/article/how-do-i-enable-the-remote-api-for-dockerd

⚠️ **GitHub.com Fallback** ⚠️