写点什么

【云原生 | 从零开始学 Docker】二、Docker 的常用指令学习以及使用

作者:泡泡
  • 2022 年 9 月 10 日
    河北
  • 本文字数:2117 字

    阅读完需:约 7 分钟

【云原生 | 从零开始学Docker】二、Docker的常用指令学习以及使用

一、如何去学习命令

我们应该如何去学习 docker 的命令,这是一个老生常谈的话题了,作为一个知识类博主,我想告诉各位的是学习的方法真的很重要,学习一个东西,不只是死记硬背,学习命令也一样,所以接下来这个命令是最重要的,没有之一,要学会如何去使用,以后会帮上你的忙。

接下来的常用命令,大家都跟着去敲一边,很快你就会记住怎么用了~~

第一个命令可能学过 linux 的各位也都知道,就是帮助命令。

docker  命令 --help
复制代码

linux 内有帮助命令,docker 同样也有,如果你有不懂得命令可以直接用这个去查,比如

docker run --help
复制代码

屏幕上就会显示 run 的参数一类的信息,当然,如果你想看更详细的,可以去 docker 官网查询你想查询的命令,这也是一种方法,各位在需要使用命令的时候建议先去查询一下看一看。

二、镜像常用命令

提到这个,就是我们熟悉的增删改查了哈哈哈,接下来我一一介绍

2.1 查看本地所有镜像

docker images     #查看本地所有镜像
复制代码

我们直接在 shell 输入这个命令就可以查看本地有多少镜像了



REPOSITORY:表示镜像的仓库源 TAG:镜像的标签 IMAGE ID:镜像 IDCREATED:镜像创建时间 SIZE:镜像大小

常用的选项有

-a #列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)-q #只显示镜像ID
复制代码

2.2 搜索镜像

docker search 要搜索的镜像名字 #搜索镜像
常用选项
-f 基于给定条件过滤输出
复制代码

用在搜索自己想下载的镜像 比如 docker search mysql



选项使用示范 docker search -f=STARS=3000 mysql



过滤收藏在 3000 及以上的镜像。

2.3 下载镜像

docker pull 镜像名字 #下载 默认最新docker pull 镜像名字[:TAG] #下载特定版本
docker pull mysql:5.7 下载5.7版本的mysql。
复制代码


2.4 删除镜像

docker rmi 镜像id #可以通过id和名字删除 也可以删除多个镜像 空格隔开docker rmi -f $(docker images -aq) #全部删除 相当于rm-rf
复制代码

2.5 查看系统信息

docker version   #显示版本信息docker info  		 #显示docker系统信息 包括容器镜像数量
复制代码

三、容器常用命令

有了镜像才能创建容器,这里下载一个 centos


docker pull centos
复制代码

3.1 新建容器启动

docker run [参数] image #创建 运行
下面的选项一部分我们会在后面讲到,各位有个了解眼熟就好,现在了解-d i t就好
常用选项-d: 后台运行容器,并返回容器ID
-i: 以交互模式运行容器,通常与 -t 同时使用
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
--name="自定义名字": 为容器指定一个名称
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致
-h "mars": 指定容器的hostname
-e username="ritchie": 设置环境变量
--net="bridge": 指定容器的网络连接类型,支持bridge/host/none/container四种类型
--link=[]: 添加链接到另一个容器
--expose=[]: 开放一个端口或一组端口
--volume , -v: 绑定一个卷

docker run -it centos /bin/bash 我们交互方式进入centos,使用bash作为shell。
启动并进入容器 此时内部和外部没有半毛钱关系
复制代码



登录成功之后我们名字会变成这个镜像的 id

3.2 查看运行的容器

我们输入 exit 退出刚才进入的 centos。然后使用我们的指令


docker ps #查看当前运行的容器
常用选项-a 当前正在运行的容器+历史运行过的
-n=? 显示最近创建的容器,比如最近的一个 docker ps -a -n=1
-q 只显示id
复制代码



第一个是正在运行的 第二个-a 是所有的 第三个是所有镜像的 id

3.3 退出容器

exit 直接退出结束
Ctrl+p+q 让容器在后台运行,不停止并且退出
复制代码

3.4 删除容器

docker rm 容器id #正在运行的容器不可以删除 
docker rm -f $(docker ps -aq) #全部容器删除
复制代码

3.5 启动容器

docker start 容器id
复制代码

3.6 重启容器

docker restart 容器id
复制代码

3.8 停止容器

docker stop 容器id
复制代码

3.9 重启强制杀死容器

docker kill 容器id
复制代码

四、其他常用命令

4.1 直接后台启动

docker run -d 容器名或者id
此时我们用 docker run -d centos之后然后ps查看一下,我们会发现centos停止了,docker是容器使用后台运行,如果是后台运行必须有前台进程,如果你没有运行前台进程那么docker发现没有应用就自动停止了
复制代码

4.2 查看日志

docker logs #查看日志
常用选项-t 是加入时间戳-f 跟随最新的日志打印--tail 数字 显示最后多少条
复制代码

4.3 查看容器进程信息

docker top 容器id
复制代码

4.4 查看镜像元数据

docker inspect 容器id     #显示的信息有 主机配置 id 镜像从哪来 网络等信息
复制代码

4.5 进入当前正在运行的容器

docker exec -it 容器id # shell路径 exec是在容器中打开新的终端,并且启动新的进程docker attach 容器id # attach直接进入容器启动命令的终端,不会启动新的进程
复制代码

4.6 容器内拷贝文件到主机

docker cp 容器id:容器内路径 主机路径
复制代码


我们可以进入刚才的 centos home 目录里面创建一个文件,使用 touch 命令,然后Ctrl+q+p退出,再使用我们的 docker cp b1f0258395c2:/home/paopao.cpp /home 就可以把刚才在 centos home 目录里面创建的文件复制出来了

五、命令汇总





六、写在最后

创作不易,如果觉得内容对你有帮助,麻烦给个三连关注支持一下我!目前正在更新的系列:从 0 开始的蓝桥杯省一之路,云原生系列。感谢各位的观看,文章掺杂个人理解,如有错误请联系我指出~

发布于: 2022 年 09 月 10 日阅读数: 86
用户头像

泡泡

关注

做最好的知识分享 云计算/云原生 2022.08.25 加入

CSDN万粉博主

评论

发布
暂无评论
【云原生 | 从零开始学Docker】二、Docker的常用指令学习以及使用_Docker_泡泡_InfoQ写作社区