Docker常用命令行

systemctl restart docker.service 开启docker服务

systemctl restart docker.service 重启docker服务

systemctl restart docker.service 停止docker服务

docker search nginx  从 Docker Hub 查找所有镜像名包含 nginx的包

docker pull nginx 从镜像仓库中拉取或者更新指定镜像

[root@localhost ~]# docker images|grep -aiwE nginx
nginx        latest    41b0e86104ba   6 days ago   142MB
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost ~]# docker run -itd -p 80:80 --name=web1 --privileged nginx:latest 
7a0bc0aa26f9f67d9f223cac30cd2a14862a15a00ed71d83698caca7ee3626b7
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                               NAMES
7a0bc0aa26f9   nginx:latest   "/docker-entrypoint.…"   42 seconds ago   Up 40 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   web1
[root@localhost ~]# docker inspect 7a0bc0aa26f9|grep -aiE ipaddr|tail -l
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.2",
                    "IPAddress": "172.17.0.2",
[root@localhost ~]# 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.058 ms
64 bytes from 172.17.0.2: icmp_seq=2 ttl=64 time=0.063 ms
64 bytes from 172.17.0.2: icmp_seq=3 ttl=64 time=0.078 ms
64 bytes from 172.17.0.2: icmp_seq=4 ttl=64 time=0.064 ms
64 bytes from 172.17.0.2: icmp_seq=5 ttl=64 time=0.051 ms
^C
--- 172.17.0.2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4108ms
rtt min/avg/max/mdev = 0.051/0.062/0.078/0.013 ms
[root@localhost ~]# iptables -t nat -L -n --line-numbers 
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    DOCKER     all  --  0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type LOCAL

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    MASQUERADE  all  --  172.17.0.0/16        0.0.0.0/0           
2    MASQUERADE  tcp  --  172.17.0.2           172.17.0.2           tcp dpt:80

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    DOCKER     all  --  0.0.0.0/0           !127.0.0.0/8          ADDRTYPE match dst-type LOCAL

Chain DOCKER (2 references)
num  target     prot opt source               destination         
1    RETURN     all  --  0.0.0.0/0            0.0.0.0/0           
2    DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 to:172.17.0.2:80
[root@localhost ~]#

生成50台nginx服务

for i in $(seq 0 50);do docker run -itd -p 80$i:80 --name=web0$i --privileged nginx:latest ;done

image.png

image.png

查看所有容器

docker ps -a

停止容器

docker stop 7a0bc0aa26f9

启动一个新的容器

docker run -itd --name=mytest --privileged=true centos /sbin/init

进入到容器

docker exec -it 7a0bc0aa26f9 /bin/bash

删除指定nginx服务

docker rm -f 7a0bc0aa26f9

批量停止容器:

docker stop $(docker ps -q)

批量删除所有容器

docker rm $(docker ps -aq)