常用的docker命令
# 有必要对Docker常用的命令做一次梳理:
- 获取镜像
sudo docker pull NAME[:TAG]
sudo docker pull centos:latest\
1
2
2
- 罗列所有镜像
docker images
1
- 删除镜像,从本地删除一个已经下载的镜像
sudo docker rmi IMAGE [IMAGE...]
sudo docker rmi centos:latest
1
2
2
- 创建docker容器 并进入 webdemo1
docker run -it --name webdemo1 -p 81:8080 tomcat /bin/bash
docker run -i -t <IMAGE_ID> /bin/bash:-i:标准输入给容器 -t:分配一个虚拟终端 /bin/bash:执行bash脚本
注意:name前面是两个-, 端口前面有-p, 后面有个tomcat;
这里我们启动一个交互式的容器,名字是webdemo1,-p 81:8080表示将容器的8080端口映射到主机的81端口,这样我们只要访问主机的81端口就可以访问到容器的服务了。如果还想创建其他的容器,那么名称要改,而且不能再挂载到主机的81上了,可以82上挂载;
1
2
3
4
2
3
4
- 启动一个停止的容器:
docker start webdemo
1
- 罗列所有的docker容器 包含了启动的Docker和没有启动的容器Docker
docker ps -a
1
- 启动容器
docker start webdemo
可能端口会被占用,我们可以先把运行的docker实例停掉,然后再删掉,
docker kill webdemo
docker rm webdemo
1
2
3
4
2
3
4
- 进入其中一个容器
这个命令使用exit命令后,不会退出后台,一般使用这个命令,使用方法如下
docker exec -it webdemo /bin/bash
1
2
2
- 拷贝文件
从主机复制到容器 sudo docker cp host_path containerID:container_path
从容器复制到主机 sudo docker cp containerID:container_path host_path
请注意,以上这两个命令都是在主机中执行的,不能再容器中执行
docker cp /root/software/docker.war webdemo:/
docker cp demo:/abc.txt /root/software/
1
2
3
4
5
2
3
4
5
- 保存镜像
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8657715d04a5 nginx:1.14.0 "nginx -g 'daemon of…" 5 hours ago Up 31 minutes 0.0.0.0:8080->80/tcp nginx-test
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
summer/centos7-ssh latest 1c0967200c5d 8 days ago 346MB
centos centos7.5.1804 cf49811e3cdb 20 months ago 200MB
nginx 1.14.0 ecc98fc2f376 2 years ago 109MB
[root@localhost ~]# docker commit 8657715d04a5 summer/nginx-k8s
sha256:92e3cc68a48d7e626cbf122dfff9dbfa35de50153a7f9aace0295f9856c708c9
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
summer/nginx-k8s latest 92e3cc68a48d 12 seconds ago 479MB
summer/centos7-ssh latest 1c0967200c5d 8 days ago 346MB
centos centos7.5.1804 cf49811e3cdb 20 months ago 200MB
nginx 1.14.0 ecc98fc2f376 2 years ago 109MB
[root@localhost ~]# docker save -o nginx-k8s.tar summer/nginx-k8s:latest
[root@localhost ~]# ll
-rw------- 1 root root 495302656 Nov 27 22:43 nginx-k8s.tar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
- 装载镜像
docker load -i nginx-k8s.tar
1