Docker基础 容器基础命令操作与详解,学docker必须要会的容器命令

目录

docker run    新建容器并启动:

退出容器

docker ps    查看容器

删除容器

启动和停止容器的操作:

进入容器:



以下命令是我们学docker必须要闭着眼睛都要会的基础容器命令:

注意:我们需要拥有镜像才可以创建容器,这里我们下载一个centos镜像来测试学习。

docker pull centos     #不写标签默认下载最新版镜像

docker run    新建容器并启动:

docker run [可选参数] 镜像名或ID

#参数说明
--name="Name"    容器名字  tomcat01  tomcat02,用来区分容器
-d    后台方式运行
-it   使用交互方式运行,进入容器查看内容
-p    指定容器的端口 -p 8080:8080

    
    -p 主机端口:容器端口 (常用) 
    -p 容器端口
    -p ip:主机端口:容器端口
     容器端口

-P   随机指定端口     大写的P是随机指定端口,小写的p是手动配置端口


#测试,启动并进入容器:
[root@localhost ~]# docker run -it centos /bin/bash    #以交互式的运行方式启动容器
[root@a2661bc2e2da /]#
    启动成功后,主机名会变成镜像ID
[root@a2661bc2e2da /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
#推出容器命令:exit
[root@a2661bc2e2da /]# exit
exit
[root@localhost ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  公共  模板  视频  图片  文档  下载  音乐  桌面
[root@localhost ~]#

退出容器

exit        #停止并退出容器

使用快捷键Ctrl+p+q        #不停止退出容器

#停止并退出容器
[root@a2661bc2e2da /]# exit
exit

#退出容器,但不停止容器,容器依旧在后台运行
[root@localhost ~]# docker run -it centos /bin/bash
[root@dd5995bd32c8 /]# [root@localhost ~]#        #使用快捷键Ctrl+p+q
[root@localhost ~]#

容器内的目录和容器外的目录互相隔离,互不影响。

docker ps    查看容器

参数 :

不带参数        #列出当前正在运行的容器

-a        #列出当前正在运行的容器+带出历史运行过的容器,就等于列出所有容器

-n=?        #显示最近创建的容器  (?的意思是你想看到最近创建的几个容器,填写数字即可)

-q        #只显示容器编号          可以与-a组合使用,-aq查看所有容器的编号,和镜像命令用法相同

[root@localhost ~]# docker ps    #查看正在运行的容器
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

[root@localhost ~]# docker ps -a    #查看所有容器
CONTAINER ID   IMAGE          COMMAND       CREATED         STATUS                     PORTS     NAMES
a2661bc2e2da   centos         "/bin/bash"   9 minutes ago   Exited (0) 4 minutes ago             boring_chatelet
654f4f39c05e   feb5d9fea6a5   "/hello"      3 days ago      Exited (0) 3 days ago                compassionate_liskov

[root@localhost ~]# docker ps -n=1    #查看最近创建的一个容器
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS                     PORTS     NAMES
a2661bc2e2da   centos    "/bin/bash"   12 minutes ago   Exited (0) 7 minutes ago             boring_chatelet

[root@localhost ~]# docker ps -aq    #查看所有容器的ID编号
a2661bc2e2da
654f4f39c05e

删除容器

#删除单个容器:
docker rm -f 容器名或ID

#删除所有容器
docker rm -f $(docker ps -aq)    #将所有的容器id传递给删除命令,递归删除

#第二种删除全部容器的命令:
docker ps -a -q|xargs docker rm   

$()    传递参数给该命令



#测试:
[root@localhost ~]# docker rm -f $(docker ps -aq)
dd5995bd32c8  #删除容器会显示出被删除的容器ID
a2661bc2e2da
654f4f39c05e
[root@localhost ~]#

启动和停止容器的操作:

#使用这些命令的基础是需要创建了镜像,没有镜像不能直接start启动

docker start 容器ID    #启动一个停止的容器
docker restart 容器ID   #重启一个容器
docker stop 容器ID    #停止一个容器
docker kill 容器ID    #暴力停止容器,直接杀死这个容器,强制停止容器
若docker stop报错了 则可以使用docker kill 强制停止容器

根据之前的 $() 符号,可以衍生到这些命令
#启动所有容器
[root@localhost ~]# docker start $(docker ps -aq)
f8f5f28eabee
27833ac6fc62
7f497e338757
#停止所有容器
[root@localhost ~]# docker stop $(docker ps -aq)
f8f5f28eabee
27833ac6fc62
7f497e338757

也可以重启所有容器等等操作
$()符号 很常用,很方便

进入容器:

进入容器的前提是启动容器

#进入容器命令:
docker attach 容器名;ID


#启动一个已经创建好的容器
[root@localhost ~]# docker start f8f5f28eabee
f8f5f28eabee

#进入这个启动的容器
[root@localhost ~]# docker attach f8f5f28eabee
[root@f8f5f28eabee /]#

猜你喜欢

转载自blog.csdn.net/weixin_53466908/article/details/124203192
今日推荐