提示:关于docker系列的文章只是本人学习过程中记录的一些笔记和思考,可能有些是不对的,如果有好的建议或者想法,欢迎评论👏
docker常用命令
常规命令:
查看docker版本: docker version
查看docker信息: docker info
image命令
查看本地镜像列表: docker images
查看本地镜像列表(包含中间层): docker images -a
查看本地镜像的id列表: docker images -q
查看本地镜像id列表(包含中间层): docker images -qa
search命令
说明: search 命令是去docker hub上去搜索的
搜索镜像: docker search tomcat
说明: 这样搜能把docker hub上所有和tomcat相关的都搜索出来,数量比较多
搜索镜像(点赞限制): docker search -s 30 tomcat
说明: 去docker hub上搜索tomcat镜像并且点赞超过30个
下载镜像
docker pull tomcat [:version]
说明: 如果后面不加版本号,就会拉取最新版本的
即:docker pull tomcat=docker pull tomcat:latest
删除本地镜像
删除单个镜像: docker rmi 镜像名/镜像id
强行删除单个镜像: docker rmi 镜像名/镜像id
删除多个镜像: docker rmi 镜像名/镜像id 镜像名/镜像id
删除所有镜像: docker rmi $(docker images -qa)
运行镜像
docker run 【options】 镜像名字/id
options:
1、- -name 给启动的容器起一个名字,如果不起的话,docker会给容器默认分配一个名字
2、-d 表示后台运行,并返回一个容器id
3、-i 表示交互式启动容器,一般和t一起使用
4、-t 表示启动容器之后打开一个终端进入该容器,一般和i一起使用
5、-P 表示随机分配一个对外部的端口
6、-p 表示指定对外的一个端口
说明:
1、一般如果该docker容器需要被外部访问到的话,需要配置端口,即:-p或者-P
2、常用启动容器的命令有:
- docker run -d --name 容器名字 -p 外部端口:容器内部端口 镜像名/id
- docker run -it --name 容器名字 -p 外部端口:容器内部端口 镜像名/id
ps 命令
说明: 通常ps用来查看docker的容器
docker ps :查看运行中的容器有哪些
docker ps -q :只会返回容器的id
docker ps -a :表示列出之前所有运行过的容器(只要容器没有被删除,都会被列出来)
docker ps -l :表示最后一个被创建的容器
docker ps -n 数字 :表示最近被创建的n个容器
对容器的操作命令
退出容器: 我们会发现 -it 运行的容器会自动进入容器内部,那么怎么退出来回到宿主机呢?
- ctrl+p+q:退出容器,但是容器运行不会暂停
- exit:退出容器,并且暂停容器
停止容器: 如果本身就在宿主机的终端上,可以直接使用docker stop 容器id来停止容器,由于有些容器暂停可能有点慢,我们可以暴力一点直接使用docker kill 容器id来停止它。我们可以这么理解:stop是你点击了电脑关机,kill则是你直接把电源给切断了
启动容器: 上面的stop、kill和exit只是暂停了容器并不会删除容器,我们可以使用docker ps -l找到容器的id,然后docker start 容器id即可启动容器
重启容器: docker restart 容器id
删除容器: docker rm 容器id
强行删除容器: docker rm -f 容器id 可以理解为先停止容器然后在删除容器
删除多个容器: docker rm $(docker ps -a -q)
重新进入容器: ctrl+p+q退出容器后,或者-d形式启动之后我们丢失了交互终端,那么怎么才能进入交互终端呢?
- docker attach 容器id :直接进入容器打开终端,不会启动新的进程
- docker exec -it 容器id :在容器中打开新的终端,会启动新的进程
- docker exec -it 容器id 需要执行的脚本语句(这种方式立马返回结果,并退出终端)