Docker常用命令大全
docker version--------------------------查看docker的信息docker info--------------------------查看更详细的信息docker 命令 --help--------------------------帮助命令2 Images 镜像命令2.2.1 查看本机中所有镜像docker images-----------------
作者主页:编程指南针
作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师
主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库、技术互助
收藏点赞不迷路 关注作者有好处
文末获取源码
1 辅助命令
安装完成辅助相关命令
docker version -------------------------- 查看docker的信息 docker info -------------------------- 查看更详细的信息 docker 命令 --help -------------------------- 帮助命令
2 Images 镜像命令
2.2.1 查看本机中所有镜像
docker images -------------------------- 列出本地所有镜像 -a 列出所有镜像(包含中间映像层) -q 只显示镜像id
举例:
docker images -q
2.2.2 搜索镜像
docker search [options] 镜像名 ------------------- 去dockerhub上查询当前镜像 -s 指定值 列出收藏数不少于指定值的镜像 --no-trunc 显示完整的镜像信息
2.2.3 从仓库下载镜像
docker pull 镜像名[:TAG|@DIGEST] ----------------- 下载镜像
2.2.4 删除镜像
docker image rm 镜像名:tag | 镜像id -------------------------- 删除镜像 -f 强制删除 简写: docker rmi 镜像名:tag | 镜像id
-
==举例==
docker image rm nginx:latest docker image rm -f nginx:latest
3 Contrainer 容器命令
3.3.1 运行容器
docker run 镜像名|镜像id -------------------------- 镜像名新建并启动容器 --name 别名为容器起一个名字 -d 启动守护式容器(在后台启动容器) -p 映射端口号:原始端口号 指定端口号启动
-
示例
docker run tomcat:8.5.72-jre8 ------ 通过外界无法访问到已经启动的tomcat docker run -d -p 8081:8080 tomcat:8.5.72-jre8--------------映射端口号为8081访问tomcat docker run -d -p 8081:8080 --name tomcat8.5_1 tomcat:8.5.72-jre8 映射端口后台运行并设置名称
注意事项: tomcat8.0 运行之后,外部可以直接访问到tomcat,而tomcat8.5 则不行,需要以下设置
-
关闭防火墙:
service firewalld stop
-
使用 docker exec -it tomcat的CONTAINER ID /bin/bash使用ls -l查看目录
docker exec -it 30a1b4a13697 /bin/bash
-
把webapps先改为webapps2防止命名冲突
mv webapps webapps2
-
再把webapps.dist改成webapps
mv webapps.dist webapps
3.3.2 查看运行的容器
docker ps --------------------------列出所有正在运行的容器 -a 正在运行的和历史运行过的容器 -q 静默模式,只显示容器编号 -qa 查看正在运行的和历史运行过的容器的id
3.3.3 停止|关闭|重启容器
docker start 容器名字或者容器id --------------- 开启容器 docker restart 容器名或者容器id --------------- 重启容器 docker stop 容器名或者容器id ------------------ 正常停止容器运行 docker kill 容器名或者容器id ------------------ 立即停止容器运行
run 和 start 区别 run: 创建新容器,第一次运行时才会有 start: 对于已停止容器,进行启动,而不是使用run重新创建新的容器
3.3.4 删除容器
docker rm 容器id和容器名 -------------------------- 删除容器 docker rm -f 容器id和容器名 -------------------------- 强制删除容器 docker rm -f $(docker ps -aq) -------------------------- 删除所有容器
3.3.5 查看容器的运行日志【掌握】
run新建了一个容器,返回一个id,docker ps 正在运行的容器。发现没有这个运行的容器。
在启动的时候出现问题了。出现了什么问题? 查看日志
查看日志主要是排查错误,容器启动的时候肯定会有一些问题。怎么排查,查看日志
docker logs [OPTIONS] 容器id或容器名 ------------------ 查看容器日志 -t 加入时间戳 -f 跟随最新的日志打印 -tf 实时打印并加时间戳打印日志 --tail 数字 显示最后多少条【了解】
3.3.6 查看容器内进程
docker top 容器id或者容器名 ------------------ 查看容器内的进程
3.3.7 进入容器内部
docker exec [options] 容器id 容器内命令 ------------------ 进入容器执行命令 -i 以交互模式运行容器,通常与-t一起使用 -t 分配一个伪终端 shell窗口 bash
-
举例
docker exec -it 89bb7179729c bash
---进入容器内部,并与容器内命令终端进行交互
3.3.8 容器和宿主机之间复制文件
会用下面的数据卷的形式,进行目录的挂载
docker cp 文件|目录 容器id:容器路径 ----------------- 将宿主机复制到容器内部 docker cp 容器id:容器内资源路径 宿主机目录路径 ----------------- 将容器内资源拷贝到主机上
-
将容器中的文件复制到主机上
docker cp c278e8231630:/usr/local/tomcat/RUNNING.txt ./RUNNING.txt
-
将主机上的文件复制到容器中
docker cp ./aa.txt c278e8231630:/usr/local/tomcat/aa.txt
3.3.9 查看容器内部细节
docker inspect 容器id ------------------ 查看容器内部细节
3.3.10 数据卷(volum)【重点】
容器中有一些配置信息,由docker挂载的。容器一但消失,配置相关信息将会消失,容器不会给我们持久化数据。
做了持久化之后,如果容器消失了,那我们做的持久化配置则不会消失。
把这个持久化的配置会放到linux中,而不是容器中
卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供一些用于持续存储或共享数据的特性:
卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷
特点: 1:数据卷可在容器之间共享或重用数据 2:卷中的更改可以直接生效 3:数据卷中的更改不会包含在镜像的更新中 4:数据卷的生命周期一直持续到没有容器使用它为止
-
语法
docker run -v 宿主机的路径|任意别名:/容器内的路径 镜像名
-
自定义数据卷目录
docker run -d -p 8085:8080 --name tomcat8.0_2 -v /usr/local/apache-tomcat-8.5.61/webapps/:/usr/local/tomcat/webapps tomcat: 8.5.72-jre8
-
自动数据卷目录
docker run -d -p 8086:8080 --name tomcat8.0_3 -v aa:/usr/local/tomcat/webapps tomcat:8.0-jre8
解释:
-
aa代表一个数据卷名字,名称可以随便写,docker在不存在时自动创建这个数据卷同时自动映射宿主机中某个目录
-
同时在启动容器时会将aa对应容器目录中全部内容复制到aa映射目录中
注意 1.如果是宿主机路径必须是绝对路径,宿主机目录会覆盖容器内目录内容 2.如果是别名则会在docker运行容器时自动在宿主机中创建一个目录,并将容器目录文件复制到宿主机中
4 相关作品展示
基于Java开发、Python开发、PHP开发、C#开发等相关语言开发的实战项目
基于Nodejs、Vue等前端技术开发的前端实战项目
基于微信小程序和安卓APP应用开发的相关作品
基于51单片机等嵌入式物联网开发应用
基于各类算法实现的AI智能应用
基于大数据实现的各类数据管理和推荐系统
更多推荐
所有评论(0)