docker基本命令
(1)docker pull 镜像文件名:拉取镜像文件[root@localhost ~]# docker pull busybox
Using default tag: latest
latest: Pulling from library/busybox
8e674ad76dce: Pull complete
Digest: sha256:c94cf1b87ccb80f2e6414ef913c748b105060debda482058d2b8d0fce39f11b9
Status: Downloaded newer image for busybox:latest
(2)docker images:查看本地镜像[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest e4db68de4ff2 2 weeks ago 1.22MB
(3)docker run [OPTIONS] IMAGE [COMMAND] [ARG…]:创建一个新的容器并运行一个命令[root@localhost ~]# docker run -itd --name=test_busybox busybox:latest
72ce5cdac750c2dbc8923baefda93a2f01aca583aa39d2aae318a050cabeb6b5
(4)docker container ls -a:查看本地容器[root@localhost ~]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
72ce5cdac750 busybox:latest "sh" 3 minutes ago Up 3 minutes test_busybox
也可以使用命令:docker ps -a
,显示所有的容器,包括未运行的。
(5)docker exec [OPTIONS] CONTAINER COMMAND [ARG…]:在运行的容器中执行命令[root@localhost ~]# docker exec -it 72ce5cdac750 sh
/ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
4: eth0@if5: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue
link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever
(6)docker stop/start/restart 容器ID:停止容器/启动容器/重启容器[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
72ce5cdac750 busybox:latest "sh" 11 minutes ago Up 11 minutes test_busybox
[root@localhost ~]# docker stop 72ce5cdac750
72ce5cdac750
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
72ce5cdac750 busybox:latest "sh" 12 minutes ago Exited (137) 8 seconds ago test_busybox
[root@localhost ~]# docker start 72ce5cdac750
72ce5cdac750
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
72ce5cdac750 busybox:latest "sh" 13 minutes ago Up 2 seconds test_busybox
(7)docker rm 容器ID:删除容器
在删除容器之前需要先停止容器,不然会报错[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
72ce5cdac750 busybox:latest "sh" 11 minutes ago Up 11 minutes test_busybox
[root@localhost ~]# docker rm 72ce5cdac750
Error response from daemon: You cannot remove a running container 72ce5cdac750c2dbc8923baefda93a2f01aca583aa39d2aae318a050cabeb6b5. Stop the container before attempting removal or force remove
[root@localhost ~]# docker stop 72ce5cdac750
72ce5cdac750
[root@localhost ~]# docker rm 72ce5cdac750
72ce5cdac750
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
也可以使用命令:docker rm $(docker ps -aq)
,一次性删除退出状态的容器;$()里面是一个表达式,就是列举出全部退出(quit)的容器ID
(8)docker rmi 镜像ID:删除镜像[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest e4db68de4ff2 2 weeks ago 1.22MB
[root@localhost ~]# docker rmi e4db68de4ff2
Untagged: busybox:latest
Untagged: busybox@sha256:c94cf1b87ccb80f2e6414ef913c748b105060debda482058d2b8d0fce39f11b9
Deleted: sha256:e4db68de4ff27c2adfea0c54bbb73a61a42f5b667c326de4d7d5b19ab71c6a3b
Deleted: sha256:6194458b07fcf01f1483d96cd6c34302ffff7f382bb151a6d023c4e80ba3050a
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
也可以使用命令:docker rmi -f $(docker images -aq)
,一次性强制删除镜像;-f意思是通过SIGKILL信号强制删除一个运行中的容器