Docker常用命令
一、镜像相关命令
1、docker images
列出所有镜像
[-q]选项可以只列出镜像ID
2、docker search
从远程仓库查询镜像
3、docker pull
从远程仓库拉取镜像
如果不加标签,默认标签为latest。如果要拉取指定版本的镜像,可以先在https://hub.docker.com/中查询对应镜像,获取需要版本的标签,然后加上指定标签
可以看到多了一个指定版本的tomcat
4、docker rmi
删除镜像
如果一个镜像存在对应的容器,则必须通过[-f]强制删除。或者可以先删除所有对应容器,再删除
删除镜像后会保留容器
可以通过指定镜像名+标签删除(不加标签默认latest),也可以指定镜像ID删除
删除多个镜像:docker rmi -f 镜像名1:标签 镜像名2:标签
删除所有镜像:docker rmi -f $(docker images -q)
二、容器相关命令
1、docker ps
列出所有正在运行的容器
[-a]选项可以查看已经停止的容器
[-q]选项可以只查看容器ID
2、docker run
创建并运行容器
[-it]选项表示交互式运行容器,即运行后进入
[--name]选项表示给容器制定一个名称,可以通过docker ps
查看到容器的名称
[-d]选项表示守护式运行容器,即运行后不进入容器。但是对于centos镜像,会出现容器立即停止的现象。这是因为容器中没有运行中的前台程序(比如top),容器就会自动停止
[-p]端口映射,主机端口:容器端口。因为我们访问的时候都是通过主机IP+主机端口访问的,这里假设将主机的8888端口与tomcat容器的8080做映射,则在外部访问(主机IP:8888)就可以看到tomcat的主界面(这里的tomcat版本为tomcat:8.0.52-alpine
,最新版tomcat可能不会显示界面)
[--privileged]特权模式运行,相当于获取容器的root权限。如果不加该选项,即使在容器内是root身份,也会无法运行部分命令
[-e]传递环境变量
3、exit / CTRL + P + Q
退出容器
在交互式运行容器中,退出该容器有2种方式
结束并退出:exit
不结束退出:CTRL + P + Q
4、docker attach
进入正在运行的容器
在不结束退出容器后如果想要重入容器,可以通过docker attach 容器名/容器ID
重入
5、docker exec
不进入容器执行命令
exec与attach的区别在于,如果要在某个容器内执行容器中的命令,attach只能先进入容器,然后再执行;而exec可以直接在容器外执行容器中的命令
可以看到,这里直接在centos容器外执行了centos容器中的ls
命令并显示结果,而没有进入容器
如果想通过exec进入容器,可以用命令docker exec -it 容器ID /bin/bash
6、docker start
启动容器,命令后接容器名/容器ID
7、docker restart
重启容器,命令后接容器名/容器ID
8、docker stop
结束容器,命令后接容器名/容器ID
9、docker kill
强制结束容器,命令后接容器名/容器ID
10、docker rm
删除已停止的容器
命令后接容器名/容器ID
[-f]选项可以强制删除运行中的容器
删除多个容器:`docker rm -f 容器ID1/容器名1 容器ID2/容器名2
删除所有容器:docker rm -f $(docker ps -qa)
评论区