docker常用命令整理

docker常用命令

1、docker版本信息
[root@VM_0_4_centos ~]# docker version

2、docker 系统信息
[root@VM_0_4_centos ~]# docker info

3、搜索镜像
[root@VM_0_4_centos ~]# docker search mysql
3-1、搜索结果显示多少条
[root@VM_0_4_centos ~]# docker search mysql -f --limit=1
3-2、显示stars大于3000的结果
[root@VM_0_4_centos ~]# docker search mysql --filter stars=3000

4、拉取镜像 默认latest版本
[root@VM_0_4_centos ~]# docker pull mysql
等同于
[root@VM_0_4_centos ~]# docker pull docker.io/library/mysql:latest
4-1、拉取指定版本镜像
[root@VM_0_4_centos ~]# docker pull mysql:5.7

5、显示所有镜像信息
[root@VM_0_4_centos ~]# docker images
5-1、显示所有镜像id
[root@VM_0_4_centos ~]# docker images -aq

6、删除镜像
[root@VM_0_4_centos ~]# docker rmi mysql

7、启动容器 -it交互模式 -d后台运行 --name 别名
[root@VM_0_4_centos ~]# docker run -it -d --name centos01 centos

8、查看运行中的容器
[root@VM_0_4_centos ~]# docker ps

9、停止运行容器
[root@VM_0_4_centos ~]# docker stop e84efd1d263d

10、启动容器
[root@VM_0_4_centos ~]# docker start e84efd1d263d

11、重启容器
[root@VM_0_4_centos ~]# docker restart e84efd1d263d

12、删除容器
[root@VM_0_4_centos ~]# docker rm e84efd1d263d

13、查看容器详细信息
[root@VM_0_4_centos ~]# docker inspect 0dffe3c508e4

14、查看容器内的线程
[root@VM_0_4_centos ~]# docker top 0dffe3c508e4

15、docker容器实时状态
[root@VM_0_4_centos ~]# docker stats

16、进入容器
[root@VM_0_4_centos ~]# docker exec -it b7500f6b909e /bin/bash

17、容器内向外拷贝文件 【容器是否启动均可拷贝】
[root@VM_0_4_centos ~]# docker cp b7500f6b909e:/test.java /disk/docker

18、查看日志
[root@VM_0_4_centos ~]# docker logs -f --tail=100 order-center
18-1、加上时间戳 查看日志
[root@VM_0_4_centos ~]# docker logs -ft --tail=100 order-center

19、帮助文档
[root@VM_0_4_centos ~]# docker --help
19-1、查看命令帮主文档
[root@VM_0_4_centos ~]# docker pull --help

 

20、查看挂载卷信息
[root@VM_0_4_centos ~]# docker volume ls


21、提交镜像
[root@VM_0_4_centos ~]# docker commit -m="信息" -a="作者" 容器id 名称:版本


22、卷挂载
[root@VM_0_4_centos ~]# docker run -it -d --name -v /home:/home centos01 centos 指定目录挂载
[root@VM_0_4_centos ~]# docker run -it -d --name -v centosHome:/home centos01 centos 具名挂载
[root@VM_0_4_centos ~]# docker run -it -d --name -v /home centos01 centos 匿名挂载
DockerFile文件挂载 [volume["home01","home02"]] 匿名挂载

 

23、创建网络

查看帮助文档

[root@iZuf6gnxqtsewyb2kvgb0mZ nginx]# docker network create --help
Usage: docker network create [OPTIONS] NETWORK

Create a network

Options:
--attachable Enable manual container attachment
--aux-address map Auxiliary IPv4 or IPv6 addresses used by Network driver (default map[])
--config-from string The network from which to copy the configuration
--config-only Create a configuration only network
-d, --driver string Driver to manage the Network (default "bridge")
--gateway strings IPv4 or IPv6 Gateway for the master subnet
--ingress Create swarm routing-mesh network
--internal Restrict external access to the network
--ip-range strings Allocate container ip from a sub-range
--ipam-driver string IP Address Management Driver (default "default")
--ipam-opt map Set IPAM driver specific options (default map[])
--ipv6 Enable IPv6 networking
--label list Set metadata on a network
-o, --opt map Set driver specific options (default map[])
--scope string Control the network's scope
--subnet strings Subnet in CIDR format that represents a network segment

创建自定义网络mynetwork

优点修复了一些docker0默认网络中的问题
[root@iZuf6gnxqtsewyb2kvgb0mZ nginx]# docker network create --driver bridge --subnet 192.168.0.0/24 --gateway 192.168.0.1 mynetwork

 

同一网络下可以根据名称进行访问。

例如:

ip 服务名称  网络
192.168.0.2 tomcat03  mynetwork
172.17.0.4 tomcat02  docker0(docker默认网络)
172.17.0.3 tomcat01 docker0(docker默认网络)
192.168.0.3 tomcat04  mynetwork

 

 

 

[root@iZuf6gnxqtsewyb2kvgb0mZ nginx]# docker exec -it c3a251dff9fd ping 172.17.0.2
PING 172.17.0.2 (172.17.0.2) 56(84) bytes of data.
64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=0.115 ms
64 bytes from 172.17.0.2: icmp_seq=2 ttl=64 time=0.075 ms
64 bytes from 172.17.0.2: icmp_seq=3 ttl=64 time=0.077 ms
--- 172.17.0.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.075/0.089/0.115/0.018 ms

 

[root@iZuf6gnxqtsewyb2kvgb0mZ nginx]# docker exec -it dcc3f9a4a836 ping tomcat03
PING tomcat03 (192.168.0.2) 56(84) bytes of data.
64 bytes from tomcat03.mynetwork (192.168.0.2): icmp_seq=1 ttl=64 time=0.060 ms
64 bytes from tomcat03.mynetwork (192.168.0.2): icmp_seq=2 ttl=64 time=0.088 ms
64 bytes from tomcat03.mynetwork (192.168.0.2): icmp_seq=3 ttl=64 time=0.070 ms
64 bytes from tomcat03.mynetwork (192.168.0.2): icmp_seq=4 ttl=64 time=0.099 ms
64 bytes from tomcat03.mynetwork (192.168.0.2): icmp_seq=5 ttl=64 time=0.073 ms
64 bytes from tomcat03.mynetwork (192.168.0.2): icmp_seq=6 ttl=64 time=0.086 ms
64 bytes from tomcat03.mynetwork (192.168.0.2): icmp_seq=7 ttl=64 time=0.088 ms
64 bytes from tomcat03.mynetwork (192.168.0.2): icmp_seq=8 ttl=64 time=0.071 ms
--- tomcat03 ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 7000ms
rtt min/avg/max/mdev = 0.060/0.079/0.099/0.012 ms

 

默认docker0与自定义网络均可以使用ip ping通自己网络内的容器

但是docker0无法使用名称,自定义网络可以实现。这样实现了高可用。建议使用自定义网络。

 

除该方法外还可以使用 --link实现名称访问,是通过修改容器内host文件实现。(不建议使用)

 

24、提交镜像

[root@iZuf6gnxqtsewyb2kvgb0mZ nginx]# docker commit -a="********<********@qq.com>" -m="tomcat追加ping命令" dcc3f9a4a836 tomcat00:1.0

可以将自己修改后的容器,发布成镜像

docker images进行查看发布的镜像

[root@iZuf6gnxqtsewyb2kvgb0mZ nginx]# docker images

 

 

25、修改发布镜像版本

查看帮助文档

[root@iZuf6gnxqtsewyb2kvgb0mZ nginx]# docker tag --help

修改发布镜像版本:会重新生成一个镜像

[root@iZuf6gnxqtsewyb2kvgb0mZ nginx]# docker tag 080019e4f313 mytomcat:1.0

 

 --------------------后续会不断更新

 

posted @ 2021-12-09 14:33  梦里前进  阅读(347)  评论(0编辑  收藏  举报