-
Notifications
You must be signed in to change notification settings - Fork 0
/
dockerNotes
147 lines (138 loc) · 7.23 KB
/
dockerNotes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#!/bin/bash NOT A REAL SHELL SCRIPT!
# This is a cut'n'paste scriptlet
# be sure to read & understand what you're cutting & pasting!
#
# ISO date stamp
`date +%Y%m%d-%H%M`
################################################################################
# Some support packages:
# atomic-reactor - Improved builder for Docker images
# docker-anaconda-addon - Anaconda kickstart support for Docker
# docker-compose - Multi-container orchestration for Docker
# docker-logrotate - cron job to run logrotate on Docker containers
# docker-novolume-plugin - Block container starts with local volumes defined
# docker-utils - External utilities for the docker experience
# docker-vim - vim syntax highlighting files for Docker
# docker-zsh-completion - zsh completion files for Docker
# fedora-dockerfiles - Example dockerfiles to assist standing up containers quickly
# sen - Terminal User Interface for docker engine
# skopeo - Inspect Docker images and repositories on registries
# source-to-image - toolkit and workflow for building reproducible Docker images from source code
################################################################################
### Docker Commands:
# attach Attach to a running container
# build Build a container from a Dockerfile
# commit Create a new image from a container's changes
# cp Copy files/folders from the containers filesystem to the host path
# diff Inspect changes on a container's filesystem
# events Get real time events from the server
# export Stream the contents of a container as a tar archive
# history Show the history of an image
# images List images
# import Create a new filesystem image from the contents of a tarball
# info Display system-wide information
# insert Insert a file in an image
# inspect Return low-level information on a container
# kill Kill a running container
# load Load an image from a tar archive
# login Register or Login to the docker registry server
# logs Fetch the logs of a container
# port Lookup the public-facing port which is NAT-ed to PRIVATE_PORT
# ps List containers
# pull Pull an image or a repository from the docker registry server
# push Push an image or a repository to the docker registry server
# restart Restart a running container
# rm Remove one or more containers
# rmi Remove one or more images
# run Run a command in a new container
# save Save an image to a tar archive
# search Search for an image in the docker index
# start Start a stopped container
# stop Stop a running container
# tag Tag an image into a repository
# top Lookup the running processes of a container
# version Show the docker version information
# wait Block until a container stops, then print its exit code
################################################################################
# build an image (be in directory with Dockerfile)
docker build -t <ImageName> .
# list running containers
docker ps
# list all containers
docker ps -a
# get latest container ID
docker ps -l -q
# get container IP
docker inspect --format '{{ .NetworkSettings.IPAddress }}' <containerID>
# stop and remove a single container:
docker stop <containerID> && docker rm <containerID>
# Stop and remove ALL containers:
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)
################################################################################
# remove an image
docker rmi <imageID>
################################################################################
#### docker run common flags
# -a Attach the console to the process’s STDIN, STDOUT or STDERR
# -d Detached mode (i.e., run in background)
# -h Sets container's hostname
# -i Keep STDIN open even if not attached
# -t Allocate a pseudo-TTY
# -P Publish all exposed ports to random ports on the host interfaces
# -v Create a bind mount.
# --name Assign a name to the container (to use instead of UUID)
# --privileged Give extended privileges to this container
# --rm Automatically remove the container when it exits (incompatible w/-d)
################################################################################
# run arbitrary command in a new container & give it a name (interactive session)
docker run -it --name <name> <imageID> <command>
# run a container and remove it when done:
docker run --rm <imageID> [<command>]
# Run container using directory on host
docker run -v <hostDir>:<contDir> <imageID> <command>
################################################################################
### notes on attaching volumes (-v|--volume[=[[HOST-DIR:]CONTAINER-DIR[:OPTIONS]]])
# If you specify, -v /HOST-DIR:/CONTAINER-DIR, Docker bind mounts /HOST-DIR
# in the host to /CONTAINER-DIR in the Docker container. If 'HOST-DIR'
# is omitted, Docker automatically creates the new volume on the host,
# however CONTAINER-DIR must exist. Common options are :rw :ro
# There may be issues with selinux interaction between host/container. Use this
# on the host to give container permissions
chcon -Rt svirt_sandbox_file_t <hostDir>
################################################################################
# start container w/X11 redirect (haven't gotten this to work yet)
docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY --name cathode jess/1995
################################################################################
docker images
docker commit <containerid> <newreponame>
docker tag <imageid> <tag>
docker port
docker inspect
################################################################################
### atomic/rpm-ostree Commands:
# "atomic host" is basically an alias for "rpm-ostree"
# diff Show diffs between 2 container images/file diff/RPMS
# help Display help associated with the image
# host execute Atomic host commands
# info display label information about an image
# install execute container image install method
# mount mount container image to a specified directory
# push (upload) push latest image to repository
# pull pull latest image from a repository
# scan scan an image or container for CVEs
# ps list the containers
# stop execute container image stop method
# run execute container image run method
# storage (migrate) manage container storage
# top Show top-like stats about processes running in containers
# uninstall execute container image uninstall method
# unmount (umount) unmount container image
# update pull latest container image from repository
# version display image 'Name Version Release' label
# verify verify image is fully updated
################################################################################
### atomic stuff
# preform an upgrade
atomic host upgrade
# apply update
systemctl reboot