(1)docker pull : 获取image
(2)docker build : 创建image
例子:docker build -t hello_docker . 将目录下的文件打包成一个docker镜像。 -t 表示 tips 提示镜像名称 为hello_docker,最后的. 表示当前目录下的Dockerfile文件(不要指定后缀)
G:\docker\dockerfile>docker build -t hello-docker .
Sending build context to Docker daemon 2.048kB
Step 1/3 : FROM alpine:latest
latest: Pulling from library/alpine
ff3a5c916c92: Pull complete
Digest: sha256:e1871801d30885a610511c867de0d6baca7ed4e6a2573d506bbec7fd3b03873f
Status: Downloaded newer image for alpine:latest
---> 3fd9065eaf02
Step 2/3 : MAINTAINER linwl
---> Running in 109a655a481a
Removing intermediate container 109a655a481a
---> cdfcaae86e5e
Step 3/3 : CMD echo ��hello docker��
---> Running in 8107a89433de
Removing intermediate container 8107a89433de
---> 54075d7ab3fa
Successfully built 54075d7ab3fa
Successfully tagged hello-docker:latest
SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories.
G:\docker\dockerfile>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-docker latest 54075d7ab3fa 5 seconds ago 4.15MB
docker-fun latest 0d3835780db9 About an hour ago 109MB
ubuntu latest 113a43faa138 8 days ago 81.2MB
nginx latest cd5239a0906a 8 days ago 109MB
alpine latest 3fd9065eaf02 5 months ago 4.15MB
docker4w/nsenter-dockerd latest cae870735e91 7 months ago 187kB
G:\docker\dockerfile>
文件我这样写的:
FROM alpine:latest
MAINTAINER linwl
CMD echo "hello docker"
(3)docker images : 列出image
例子:列出docker中所有的镜像
G:\docker>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker-fun latest 0d3835780db9 About an hour ago 109MB
ubuntu latest 113a43faa138 8 days ago 81.2MB
nginx latest cd5239a0906a 8 days ago 109MB
docker4w/nsenter-dockerd latest cae870735e91 7 months ago 187kB
(4)docker run : 运行container
例子:运行nginx 这个名称的镜像 并指定本地8080端口映射到nginx的80端口(-p 8080:80),同时 以守护线程运行(-d)
docker run -p 8080:80 -d nginx
735adf29a77a85373bb43ad26b3eaf1c80e8b0f96f762513fc12e9863d68298f
(5)docker ps : 列出container
例子:docker ps 列出正在运行的容器(container),另外 docker ps -a 列出所有container包括未运行的
G:\docker>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2c41a966990d docker-fun "nginx -g 'daemon of…" 13 seconds ago Up 13 seconds 0.0.0.0:8080->80/tcp admiring_keldysh
(6)docker stop :停止一个在运行的 container
例子:docker stop 2c41a966990d 根据对应的containerId 停止运行指定容器,注意,只有停止运行的容器才能删除
G:\docker>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2c41a966990d docker-fun "nginx -g 'daemon of…" 3 minutes ago Up 3 minutes 0.0.0.0:8080->80/tcp admiring_keldysh
G:\docker>docker stop 2c41a966990d
2c41a966990d
G:\docker>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
G:\docker>
(7)docker rm : 删除 container
例子:docker rm 5407b8208096 20019b3694de a8294fdb14c1 3183d7936ecf 600fadd3b239 根据containerID删除指定的container。可以一次性选择多个删除
G:\docker>docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5407b8208096 hello-world "/hello" 43 minutes ago Exited (0) 43 minutes ago unruffled_engelbart
20019b3694de hello-world "/hello" 43 minutes ago Exited (0) 43 minutes ago gifted_lewin
a8294fdb14c1 hello-world "/hello" 43 minutes ago Exited (0) 43 minutes ago youthful_panini
3183d7936ecf ubuntu "echo hello docker" 44 minutes ago Exited (0) 44 minutes ago inspiring_minsky
600fadd3b239 ubuntu "echo hello docker" 44 minutes ago Exited (0) 44 minutes ago thirsty_dijkstra
G:\docker>docker rm 5407b8208096 20019b3694de a8294fdb14c1 3183d7936ecf 600fadd3b239
5407b8208096
20019b3694de
a8294fdb14c1
3183d7936ecf
600fadd3b239
G:\docker>docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
(8)docker rmi : 删除 images
例子:docker rmi e38bc07ac18e 删除 e38bc07ac18e这个image ID 的镜像 rmi 就是 remove image的意思。
G:\docker>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker-fun latest 0d3835780db9 2 minutes ago 109MB
ubuntu latest 113a43faa138 8 days ago 81.2MB
nginx latest cd5239a0906a 8 days ago 109MB
hello-world latest e38bc07ac18e 2 months ago 1.85kB
docker4w/nsenter-dockerd latest cae870735e91 7 months ago 187kB
G:\docker>docker rmi e38bc07ac18e
Untagged: hello-world:latest
Untagged: hello-world@sha256:4555e23a9cf5a1a216bd8b0d71b08a25e4144c2ecf6adb26df9620245ba99529
Deleted: sha256:e38bc07ac18ee64e6d59cf2eafcdddf9cec2364dfe129fe0af75f1b0194e0c96
Deleted: sha256:2b8cbd0846c5aeaa7265323e7cf085779eaf244ccbdd982c4931aef9be0d2faf
G:\docker>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker-fun latest 0d3835780db9 3 minutes ago 109MB
ubuntu latest 113a43faa138 8 days ago 81.2MB
nginx latest cd5239a0906a 8 days ago 109MB
docker4w/nsenter-dockerd latest cae870735e91 7 months ago 187kB
(9)docker cp : 在host和container 之间拷贝文件
例子:docker cp index.html 735adf29a77a://usr/share/nginx/html 将index.hml这个文件拷贝到 735adf29a77a 这个containerID的容器下的/usr/share/nginx/html中
G:\docker>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
735adf29a77a nginx "nginx -g 'daemon of…" 8 minutes ago Up 8 minutes 0.0.0.0:8080->80/tcp affectionate_vaughan
G:\docker>docker cp index.html 735adf29a77a://usr/share/nginx/html
(10)docker commit : 保存改动为新的image
例子:docker commit 735adf29a77a docker-fun 其中 735adf29a77a是container ID docker-fun 是新的image名称
G:\docker>docker commit 735adf29a77a docker-fun
sha256:0d3835780db91217f9c8cf56b5b6659ed909f3e80ecd9661e5e92b6eaf8daea4
G:\docker>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
735adf29a77a nginx "nginx -g 'daemon of…" 9 minutes ago Up 9 minutes 0.0.0.0:8080->80/tcp affectionate_vaughan
G:\docker>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker-fun latest 0d3835780db9 13 seconds ago 109MB
ubuntu latest 113a43faa138 8 days ago 81.2MB
nginx latest cd5239a0906a 8 days ago 109MB
hello-world latest e38bc07ac18e 2 months ago 1.85kB
docker4w/nsenter-dockerd latest cae870735e91 7 months ago 187kB