Docker - Container 命令

259 阅读1分钟

这是我参与8月更文挑战的第27天,活动详情查看:8月更文挑战

容器命令

docker run 启动容器

# docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

当镜像不存在时,docker run 会先下载镜像,然后运行

先下载一个Ubuntu镜像。

$ docker pull ubuntu

常用可选项

可选项解释
--name容器名称,用来区分容器
-d后台方式运行
-it使用交互方式运行,进入容器查看内容
-p指定容器端口 1. -p ip:主机端口:容器端口 2.-p 主机端口:容器端口(常用)3. -p 容器端口 4. 容器端口
-P随机指定端口

启动并进入容器

$ docker run -it ubuntu /bin/bash

# 主机名是镜像ID=c8293d8820b9
root@c8293d8820b9:/# ls # 查看容器内的Ubuntu,基础版本,很多命令是不完善的
bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

# 从容器中退回主机
root@c8293d8820b9:/# exit
exit

停止并退出容器

exit 

退出不停止容器

Ctrl + p + q 

docker ps 列出容器

# docker ps [OPTIONS]

列出正在运行的容器

$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

参数说明

参数解释
CONTAINER ID容器ID
IMAGE镜像名称
COMMAND命令
CREATED创建时间
STATUS状态
PORTS端口
NAMES容器名

常用可选项

可选项解释
-a列出所有镜像
-n=?列出最近创建的容器
-q列出容器的ID

列出所有容器

$ docker ps -a
CONTAINER ID   IMAGE          COMMAND       CREATED          STATUS                        PORTS     NAMES
c8293d8820b9   ubuntu         "/bin/bash"   8 minutes ago    Exited (0) 6 minutes ago                agitated_jennings
6c1686269aad   ubuntu         "/bin/bash"   21 minutes ago   Exited (130) 20 minutes ago             elastic_yonath
bb55c9c4085a   d1165f221234   "/hello"      18 hours ago     Exited (0) 18 hours ago                 boring_sutherlan

列出所有容器ID

$ docker ps -aq
c8293d8820b9
6c1686269aad
bb55c9c4085a

docker rm 删除容器

# docker rm [OPTIONS] CONTAINER [CONTAINER...]

# docker rm 容器ID    不能删除正在运行的容器,如果要强制删除 rm -f

删除不在运行

$ docker rm bb55c9c4085a
bb55c9c4085a

删除正在运行

$ docker rm 83eb781dcb1f
Error response from daemon: You cannot remove a running container 83eb781dcb1f21faf3f414a1fd60f34fd708cf96dfe019bb8c3267217cfc79a1. Stop the container before attempting removal or force remove

强制删除所有容器,慎用

$ docker rm -f $(docker ps -aq)
83eb781dcb1f
6f5b7fe40d9b
c8293d8820b9
6c1686269aad

docker start 启动容器

# docker start 容器id 

docker restart 重启容器

# docker restart 容器id 

docker stop 停止容器

# docker stop 容器id 

docker kill 强行停止容器

# docker kill 容器id