千家信息网

Docker命令汇总

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,一、Docker的基础命令[root@node02 ~]# docker volume prune -f #删除无主的数据卷#在运行容器时,-v挂载目录时没有指定本地要挂载的目录,
千家信息网最后更新 2025年02月01日Docker命令汇总

一、Docker的基础命令

[root@node02 ~]# docker volume prune -f           #删除无主的数据卷#在运行容器时,-v挂载目录时没有指定本地要挂载的目录,而是由docker管理的,#当容器删除后,这些目录并不会被删除,此时这种目录就是无主数据卷。#若要在删除容器时,同时删除这些数据卷,可以使用以下命令(添加"-v"选项即可):[root@node02 ~]# docker rm -f -v 8086        #其中8086为容器ID[root@master volumes]# docker container prune -f       #清理掉所有处于终止状态的容器。[root@localhost ~]# docker search dhcp     #以DHCP作为关键字进行搜索镜像[root@localhost ~]# docker pull docker.io/networkboot/dhcpd           #下载查询出来的某个镜像[root@localhost ~]# docker images      #查询下载的镜像[root@localhost ~]# docker tag docker.io/networkboot/dhcpd dchp:dhcp    #改新名称及标签[root@localhost ~]# docker rmi docker.io/networkboot/dhcpd    #删除镜像[root@localhost ~]# docker save -o dhcptest dchp:dhcp      #导出为本地镜像[root@localhost ~]# docker load --input dhcp     #导入镜像#或者[root@localhost ~]# docker load < dhcp     #导入镜像[root@docker ~]# docker save > dhcp busybox:latest    #导出镜像busybox[root@localhost ~]# docker push docker.io/ljztest/dhcp      #上传镜像[root@localhost ~]# docker create -itd dchp:dhcp /bin/bash     #创建一个容器,并指定伪终端#选项解释如下:* -i:交互式* -t:分配一个为终端* -d:后台运行[root@docker ~]# docker run -itd --name test2 --restart=always httpd    #保持容器处于开机自启状态#作用是可以在执行"systemctl restart docker"时,使容器也随之重启;#若不加--restart,那么一旦执行"systemctl restart docker",这个容器将会停止。[root@localhost ~]# docker ps -a                #查出容器的ID号[root@localhost ~]# docker exec -it 2304f92a8158 /bin/bash     #进入一个容器[root@docker ~]# docker attach test1   #也是进入一个容器#如果是attach进入容器,使用exit退出的话这个容器也会关闭。#使用ctrl+p  ctrl+q退出容器,并不会关闭这个容器,会保持容器的运行状态。[root@docker ~]# docker ps -a -q | xargs docker start    #开启所有容器[root@docker ~]# docker ps -a -q | xargs docker stop    #关闭所有容器[root@docker ~]# docker logs test1  #查看容器的日志,可以在后面加"-f"选项,动态输出[root@docker ~]# docker ps -a -q | xargs docker rm -f      #删除所有容器,威力不亚于rm  -rf  /*[root@localhost ~]# docker ps -a -q | xargs docker start    #启动所有容器[root@localhost ~]# docker rm 2304f92a8158          #删除容器[root@docker ~]# docker run -it --name containerB -c 512 centos#创建一个名为containerB的容器,设置其CPU的权重为512[root@docker ~]# docker run -it --name testA --device-write-bps /dev/sda:30MB centos#限制磁盘的每秒可以写入的大小为30MB#其中还可以有以下选项:#--device-read-bps:设置读设备的bps#--device-write-bps:设置写入设备的bps#--device-read-iops:设置读取设备的iops#--device-write-iops:设置写入设备的iops。[root@docker lv]# docker history test04:latest      #如果使用Dockerfile制作镜像,可以使用这条命令查看这个镜像都做过什么[root@docker ~]# docker logs web01       #查看容器的日志,可以加"-f"选项,动态刷新。[root@docker ~]# docker commit web01 mytest:v1.0     #将容器制作为镜像[root@docker ~]# docker cp /a.txt web01:/usr         #将本机的文件复制到容器中[root@docker ~]# docker cp web01:/usr/a.txt /usr    #将容器中的文件复制到本机中

二、docker网络管理相关的命令:

[root@docker ~]# docker network ls      #查看docker的网络[root@docker ~]# brctl show         #专用于查看虚拟网络  [root@docker ~]# docker exec web ip a    #查看某个指定容器的网络信息[root@docker ~]# docker network create -d bridge my_net       #创建一个docker的网络,-d:指定驱动类型[root@docker ~]# docker network create -d bridge --subnet 172.22.0.0/24 my_net2   #创建网络时,指定网段[root@docker ~]# docker network inspect my_net2    #查看这个网络的详细信息[root@docker ~]# docker inspect web05       #查看容器的详细信息[root@docker ~]# docker inspect web05       #查看容器的详细信息[root@docker ~]# docker run -tid --name web07 --network my_net2 --ip 172.22.0.8 busybox    #启动容器时,一并指定IP地址。[root@docker ~]# docker exec web03 ping 172.17.0.3     #不进入虚拟机执行ping命令。[root@docker ~]# iptables-save         #查看iptables规则[root@docker ~]# docker network connect my_net web001  #将web001连接至my_net网络,执行后web001将会多出一块网卡,并具有my_net网络的IP地址。

三、docker Swarm群集常用命令

[root@docker01 ~]# docker node ls    #查看群集的信息(只可以在manager角色的主机上查看)[root@docker01 ~]# docker swarm join-token worker      #如果后期需要加入worker端,可以执行此命令查看令牌(也就是加入时需要执行的命令)[root@docker01 ~]# docker swarm join-token manager         #同上,若要加入manager端,则可以执行这条命令查看令牌。[root@docker01 ~]# docker service scale web05=6    #容器的动态扩容及缩容[root@docker01 ~]# docker service ps web01       #查看创建的容器运行在哪些节点[root@docker01 ~]# docker service ls        #查看创建的服务#将docker03脱离这个群集[root@docker03 ~]# docker swarm leave        #docker03脱离这个群集[root@docker01 ~]# docker node rm docker03         #然后在manager角色的服务器上移除docker03[root@docker01 ~]# docker node promote docker02    #将docker02从worker升级为manager。#升级后docker02状态会为Reachable[root@docker01 ~]# docker node update --availability drain docker01#设置主机docker01以后不运行容器,但已经运行的容器并不会停止

-------- 本文至此结束,感谢阅读 --------

0