docker 常用命令
Docker的安装
1. 安装
yum install docker
运行
docker
命令看看是否安装成功
2. 设为服务开机自启
systemctl enable docker
Docker的一些基本操作
1. 启动docker
service docker start
2. 查看docker版本
[root@localhost /]# docker version
Client:
Version: 1.13.1
API version: 1.26
Package version: docker-1.13.1-209.git7d71120.el7.centos.x86_64
Go version: go1.10.3
Git commit: 7d71120/1.13.1
Built: Wed Mar 2 15:25:43 2022
OS/Arch: linux/amd64
Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Package version: docker-1.13.1-209.git7d71120.el7.centos.x86_64
Go version: go1.10.3
Git commit: 7d71120/1.13.1
Built: Wed Mar 2 15:25:43 2022
OS/Arch: linux/amd64
Experimental: false
3. 查看docker信息
docker info
3. 查看命令帮助
直接输入docker命令来查看所有的选项和指令。
查看某一个命令的用法,以pull为例:
docker pull --help
4. 搜索镜像
docker search centos
5. 下载镜像
docker pull 镜像名:标签
如果不写标签,默认的标签是latest
6. 查看安装的镜像
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/centos latest 3fa822599e10 5 weeks ago 203.5 MB
7. 运行镜像
[root@localhost /]# docker run centos echo Hello World
Hello World
8. 查看容器
查看所有容器:
[root@localhost /]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ae64ccc830db centos "echo Hello World" 4 minutes ago Exited (0) 4 minutes ago agitated_thompson
2f40cd3cbc22 centos "/bin/bash" 21 minutes ago Exited (127) 10 minutes ago nauseous_ptolemy
a530488de531 centos "echo hello world" 58 minutes ago Exited (0) 58 minutes ago prickly_borg
791641bfa206 3fa822599e10 "/bin/bash" About an hour ago Exited (0) About an hour ago trusting_jepsen
查看最近生成的容器:
[root@localhost /]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ae64ccc830db centos "echo Hello World" 3 minutes ago Exited (0) 3 minutes ago agitated_thompson
查看正在运行的容器:
docker ps
9. 运行并进入容器,退出容器
[root@localhost /]# docker run -i -t centos /bin/bash
[root@6211cae80aee /]#
退出
[root@6211cae80aee /]# exit
exit
10. 提交容器
REPOSITORY参数可以是新的镜像名字,也可以是旧的镜像名;如果和旧的镜像名和TAG都相同,会覆盖掉旧的镜像。
docker commit CONTAINERID [REPOSITORY[:TAG]]
[root@localhost /]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6211cae80aee centos "/bin/bash" 2 minutes ago Exited (0) About a minute ago suspicious_ride
[root@localhost /]# docker commit 621 centos:latest
sha256:f6b57c4d3b0274caa581112ba09d3ae7302da3cde0f9a754f37e23bfd8eee2f4
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest f6b57c4d3b02 18 seconds ago 203.5 MB
docker.io/centos latest 3fa822599e10 5 weeks ago 203.5 MB
[root@localhost /]#
11. 停止正在运行的容器
docker stop CONTAINERID
12. 查看容器或镜像的详细信息
docker inspect CONTAINERID|IMAGE
13. 删除容器
docker rm CONTAINERID
查看所有容器ID:
docker ps -a -q
删除所有的容器:
docker rm $(docker ps -a -q)
[root@localhost /]# docker rm $(docker ps -a -q)
6211cae80aee
ae64ccc830db
2f40cd3cbc22
a530488de531
791641bfa206
[root@localhost /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@localhost /]# docker ps -a -q
[root@localhost /]#
14. 删除镜像
docker rmi IMAGE
一次性删除所有镜像:
docker rmi $(docker images -q)
[root@localhost /]# docker rmi $(docker images -q)
Untagged: centos:latest
Deleted: sha256:f6b57c4d3b0274caa581112ba09d3ae7302da3cde0f9a754f37e23bfd8eee2f4
Deleted: sha256:67955ae1029a87fe46878ca33a6c465c5bc201b99cec1b2ec77667e67b576008
Untagged: docker.io/centos:latest
Untagged: docker.io/centos@sha256:3b1a65e9a05f0a77b5e8a698d3359459904c2a354dc3b25ae2e2f5c95f0b3667
Deleted: sha256:3fa822599e10c5f2080dcf647068c72022b111d31bbec0c5adb8a96e7eb5379b
Deleted: sha256:d1be66a59bc56bb90e92c3d4742ce73dcb5f62acc6e92de55039e21957ed5d23
[root@localhost /]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
[root@localhost /]#
15. 后台运行tomcat镜像并进行端口映射
-p
为端口映射 80:8080
意为将tomcat的8080端口映射到宿主机的80端口,-d
为后台运行 守护进程
[root@localhost /]# docker run -p 80:8080 -d 3dcfe809147d
5f55eaa3be89046551cc2a99e334c3654ad1391de8faf41ab694211995a80bbe
[root@localhost /]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5f55eaa3be89 3dcfe809147d "catalina.sh run" 44 seconds ago Up 43 seconds 0.0.0.0:80->8080/tcp lonely_hawking
[rroot@localhost /]#