Difference between revisions of "Docker"
Line 26: | Line 26: | ||
= Docker run and basic options = | = Docker run and basic options = | ||
<source> | <source lang="bash"> | ||
docker run -it --name="mycentos" centos:latest /bin/bash | docker run -it --name="mycentos" centos:latest /bin/bash | ||
# -i interactive mode \command to execute | |||
# -t bind to the current terminal | |||
# -d disconnect mode, daemon mode, detached mode | |||
# --name="name_your_container" | |||
</source> | </source> | ||
Revision as of 19:14, 27 May 2018
Containers taking a world J
Installation
To install the latest version of Docker with curl:
$ curl -sSL https://get.docker.com/ | sh
Add your user to docker group to be able to run docker commands without need of sudo
sudo usermod -aG docker yourusername
HTTP proxy
Configure docker if you run behind a proxy server. In this example CNTLM proxy runs on the host machine listening on localhost:3128. This example overrides the default docker.service file by adding configuration to the Docker systemd service file.
First, create a systemd drop-in directory for the docker service:
mkdir /etc/systemd/system/docker.service.d
Now create a file called /etc/systemd/system/docker.service.d/http-proxy.conf
that adds the HTTP_PROXY
environment variable:
[Service] Environment="HTTP_PROXY=http://proxy.example.com:80/"
If you have internal Docker registries that you need to contact without proxying you can specify them via the NO_PROXY environment variable:
Environment="HTTP_PROXY=http://proxy.example.com:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"
Flush changes:
$ sudo systemctl daemon-reload
Verify that the configuration has been loaded:
$ systemctl show --property=Environment docker Environment=HTTP_PROXY=http://proxy.example.com:80/
Restart Docker:
$ sudo systemctl restart docker
Docker run and basic options
docker run -it --name="mycentos" centos:latest /bin/bash # -i interactive mode \command to execute # -t bind to the current terminal # -d disconnect mode, daemon mode, detached mode # --name="name_your_container"
Docker inspect
Shows current configuration state of a docker container.
docker inspect <container_name> | grep IPAddress "SecondaryIPAddresses": null, "IPAddress": "172.17.0.3", "IPAddress": "172.17.0.3",
Attach to a docker process
If you are running eg. /bin/bash as a command you can get attached to this running docker process
docker attach mycentos
Dockerfile
Each line RUN creates a container so if possible, we should join lines so it ends up with less layers.
vi Dockerfile FROM ubuntu:latest MAINTAINER user1 <user1@gmail.com> RUN apt-get update RUN apt-get upgrade -y
Build
sudo docker build -t pio2pio/apache .
References
- Ubuntu installation official website
- PROXY settings for systemd