Docker容器常用命令

我们有了镜像才可以创建容器,linux,下载一个centos 镜像来测试学习。
使用命令下载一个centos镜像

docker pull centos

新建容器并启动

docker run [可选参数] image
==========================================================
# 参数说明
--name="name"        容器名字:用来区分容器
-d                    后台方式运行:相当于nohup
-it                    使用交互式运行:进入容器查看内容
-p                    指定容器的端口(四种方式)小写字母p
    -p ip:主机端口:容器端口
    -p 主机端口:容器端口
    -p 容器端口
    容器端口
-P                     随机指定端口(大写字母P)
# 测试:启动并进入容器
[root@SUIAB suiab]# docker run -it centos /bin/bash
[root@9613b9dd2db1 /]# ls   # 查看容器内的centos
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

# 从容器中退回到主机
[root@9613b9dd2db1 /]# exit
exit
[root@SUIAB suiab]# ls
a    add.c  editline    hm.c            homew    hw.sh  print.c   test.sh   text.txt  未命名文件夹
add  b      editline.c  \home\test.txt  homew.c  print  shell.sh  test.txt  tool      桌面

列出所有运行的容器

docker ps    # 列出当前正在运行的容器
# 命令参数可选项
-a        # 列出当前正在运行的容器+历史运行过的容器
-n=?    # 显示最近创建的容器(可以指定显示几条,比如-n=1)
-q        # 只显示容器的编号

[root@SUIAB suiab]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

[root@SUIAB suiab]# docker ps -a
CONTAINER ID   IMAGE         COMMAND       CREATED          STATUS                      PORTS     NAMES
9613b9dd2db1   centos        "/bin/bash"   22 minutes ago   Exited (0) 21 minutes ago             determined_kilby
e200932be51c   hello-world   "/hello"      10 hours ago     Exited (0) 10 hours ago               agitated_ride
[root@SUIAB suiab]# docker ps -a -n=1
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS                      PORTS     NAMES
9613b9dd2db1   centos    "/bin/bash"   25 minutes ago   Exited (0) 23 minutes ago             determined_kilby

退出容器

exit        # 容器直接停止,并退出
ctrl+P+Q    # 容器不停止,退出
[root@SUIAB suiab]# docker run -it centos /bin/bash
[root@a76c8c84c14c /]# [root@SUIAB suiab]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED              STATUS              PORTS     NAMES
a76c8c84c14c   centos    "/bin/bash"   14 seconds ago       Up 13 seconds                 condescending_sutherland
6b5eb444b6bb   centos    "/bin/bash"   About a minute ago   Up About a minute             reverent_carver
[root@SUIAB suiab]# 

删除容器

docker rm 容器id                    # 删除容器(不能删除正在运行的容器)如果要强制删除:docker rm -f 容器id
docker rm -f $(docker ps -aq)        # 删除全部容器
docker ps -a -q|xargs docker rm        # 删除所有容器

启动和停止容器的操作

docker start 容器id        # 启动容器
docker restart 容器id    # 重启容器
docker stop 容器id        # 停止当前正在运行的容器
docker kill 容器id        # 强制停止当前容器

版权声明:本文为qq_45847507原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。