docker version
docker info
docker —help
搜索
docker search -f stars=50 tomcat
大于50个stars的tomcat
docker pull
docker pull nginx:latest docker下载nginx
docker rmi -f
docker删除镜像
docker rmi -f nginx:latest hello-world:latest
以空格分隔
全部删除
docker rmi -f $(docker images -qa)
是docker images -qa返回的是所有的镜像的numeric IDs然后作为参数给docker rmi -f
运行centos
docker run -it {image-Id} 将其中的{image-id}替换一下
我们可以通过加上—name=”xxx”,来指定names
如:
docker run -it --name=docker-centos centos
查看正在运行的容器
docker ps
在这里,我刚刚运行了centos容器,并和这个centos交互,我们重新打开一个页面,运行docker ps命令,会提示command 是bin/bash
还可以通过 -l参数,查看最新创建的容器
[root@hecs-x-large-2-linux-20200420180941 ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d3e6e32fd3b0 centos "/bin/bash" 15 minutes ago Exited (0) 10 seconds ago
docker-c
-n参数,查看最后创建的n个容器
如
[root@hecs-x-large-2-linux-20200420180941 ~]# docker ps -n 3
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d3e6e32fd3b0 centos "/bin/bash" 16 minutes ago Exited (0) 55 seconds ago docker-c
1095fbdb5c7e centos "/bin/bash" 23 minutes ago Exited (0) 16 minutes ago sleepy_b
070366c727a3 0d120b6ccaa8 "/bin/bash" 28 minutes ago Exited (0) 24 minutes ago keen_gal
退出容器
两种方式:
- exit 容器停止退出,我说怎么刚刚exit,直接出问题了
- ctrl + P + Q 容器不停止退出
启动过去的镜像
[root@hecs-x-large-2-linux-20200420180941 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ee36fd8dfe41 centos "/bin/bash" 9 minutes ago Up 9 minutes mycentos
[root@hecs-x-large-2-linux-20200420180941 ~]# docker ps -n 3
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ee36fd8dfe41 centos "/bin/bash" 9 minutes ago Up 9 minutes mycentos
d3e6e32fd3b0 centos "/bin/bash" 32 minutes ago Exited (0) 16 minutes ago docker-centos
1095fbdb5c7e centos "/bin/bash" 39 minutes ago Exited (0) 32 minutes ago sleepy_black
[root@hecs-x-large-2-linux-20200420180941 ~]# docker start d3e6e32fd3b0
d3e6e32fd3b0
[root@hecs-x-large-2-linux-20200420180941 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ee36fd8dfe41 centos "/bin/bash" 9 minutes ago Up 9 minutes mycentos
d3e6e32fd3b0 centos "/bin/bash" 32 minutes ago Up 4 seconds docker-centos
重启容器
[root@hecs-x-large-2-linux-20200420180941 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ee36fd8dfe41 centos "/bin/bash" 9 minutes ago Up 9 minutes mycentos
d3e6e32fd3b0 centos "/bin/bash" 32 minutes ago Up 4 seconds docker-centos
[root@hecs-x-large-2-linux-20200420180941 ~]# docker restart ee36fd8dfe41
ee36fd8dfe41
[root@hecs-x-large-2-linux-20200420180941 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ee36fd8dfe41 centos "/bin/bash" 11 minutes ago Up 6 seconds mycentos
d3e6e32fd3b0 centos "/bin/bash" 33 minutes ago Up About a minute docker-centos
停止容器
docker stop containerId
删除容器
docker rm containerId
docker rm $(docker ps -n 5 -q)
// 上面这句是删除最近5个正在运行的容器
docker rm -f $(docker ps -a -q)
// 删除所有的容器
docker ps -a -q | xargs docker rm
// 这是运用了管道符,将数据传递给docker rm
输出日志
docker logs -f -t containerId
// -f 有点tail -f的意思
// -t 很加一个时间
查看容器内部的进程
docker top containerId
[root@hecs-x-large-2-linux-20200420180941 ~]# docker top a53da9509c71
UID PID PPID C STIME TTY TIME CMD
root 9935 9918 0 22:09 ? 00:00:00 /bin/sh -c while true;do echo hello world;sleep 2;done
root 9986 9935 0 22:10 ? 00:00:00
重新进入容器
docker run -i -t centos
ctrl + p + Q
docker attach containerId
// 这样就可以重新进入容器
当前容器相关
[root@hecs-x-large-2-linux-20200420180941 ~]# docker exec -t 48bd2d70e7c8 ls -l /tmp
total 8
-rwx------ 1 root root 671 Aug 9 21:40 ks-script-2n9owwnh
-rwx------ 1 root root 1379 Aug 9 21:40 ks-script-xm1o5azb
[root@hecs-x-large-2-linux-20200420180941 ~]# docker exec -t 48bd2d70e7c8 ls -l /tmp
total 8
-rwx------ 1 root root 671 Aug 9 21:40 ks-script-2n9owwnh
-rwx------ 1 root root 1379 Aug 9 21:40 ks-script-xm1o5azb
docker exec -t -i containerId 命令
这里是-it还是-t,需要具体区分,-i好像是持续接收数据keep stdin open even if not attached
将容器的文件拷贝到宿主机中
[root@hecs-x-large-2-linux-20200420180941 ~]# docker cp 48bd2d70e7c8:/tmp/yum.log /root
[root@hecs-x-large-2-linux-20200420180941 ~]# ls
dump.rdb mysql-community-release-el7-5.noarch.rpm rabbitmq-server-3.8.3-1.el7.noarch.rpm yum.log
[root@hecs-x-large-2-linux-20200420180941 ~]# vi yum.log
docker cp containerId:{pathFrom} {pathTo}
pathFrom是容器中的路径,pathTo是宿主机上需要存放的
