Docker
This will be also about project connected to or running on Docker, like Portainer.
Docker software
A container run an image.
Data are in /var/lib/docker/volumes/
.
Install guide for Linux here. Don’t forget to add yourself to the docker group: usermod -a -G docker $USER
Container management
- Run
docker run -d --name container_name image
with imagenginx
for example - Stop
docker stop container_name
- Restart
docker restart container_name
- Pause
docker pause container_name
anddocker unpause container_name
- Kill
docker kill container_name
- Remove
docker rm container_name
- Bash/See what’s going on
docker attach container_name
- And
CTRL+P
thenCTRL-Q
to detach
- And
- Update
docker update [OPTIONS] CONTAINER
- Add restart policy:
docker update --restart=always CONTAINER
- Add restart policy:
Images management
- List
docker images
- Remove
docker rmi image_name
- List of images are in the Docker Hub
- An previously downloaded image can be used by referring its image ID
Data management
- Browse data in volumes:
/var/lib/docker/volumes/
- Transfer a file from/to a container
docker cp CONTAINER:SRC_PATH DEST_PATH
Other commands
- Get Docker directory
docker info
- List all containers
docker ps -a
- Run a command in a container
docker exec container_name command
- Do some spring cleanup - (Be careful with that!)
docker system prune --all
Portainer - Web container management
Helps to manage containers.
- Run
docker run --restart always -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
- Automatically remove old images: define the variable
WATCHTOWER_CLEANUP=true
- Fix
0.0.0.0
IP in exposed port: change Public IP in Endpoints - Source
Watchtower - Automatic container update
Update containers automatically. Run the quick start script to install.
Environment variables:
TZ:timezone
: TimezoneWATCHTOWER_SCHEDULE: 0 0 5 * * *
: cron setting to check for update each day at 0500.
Chrony / Docker-NTP
Provide a NTP server.
123:UDP
need to be exposed