docker常用命令的总结

docker从理解到安装再到简单使用三部曲

第一步(docker的理解)
第二部(docker安装)
第三步(docker常用命令的总结)

!!提醒!!

<1>docker用的是unix socket而不是TCP,这会导致当前用户权限不够所以直接输入命令,会回显下面一段话“Got permission denied while…”,解决这一问题可以在命令前加入sudo。
<2>有时会有不能成功拉取的镜像的情况这可能是因为没有镜像加速器的原因导致的。解决这一问题可以通过以下几步
1.在阿里云上注册一个账号
2.点开右上角的“控制台”
3.点击“弹性计算”中的”容器镜像服务“
4.点击之后在左边可以找到“镜像中心”其中就有“镜像加速器”
5.在其中可以发现属于自己的”加速器地址“
6.在kali Linux中输入

cd /etc/docker

7.切换到对应目录下之后输入

sudo vim ./deamon.json

8.进入vim模式之后就可以编辑其中内容,要把刚刚的加速器地址以这种形式输入进去
{“registry-mirrors”:[“加速器地址”]}

9.最后可以按照程序员管理拉取一个hello world镜像尝试一下

sudo docker pull hello-world

成功以后是这样子
在这里插入图片描述

<1>docker中的management command和command

Managementcommand和Command在 1.13 版本之前,docker 并没有 Mangement command。在 Docker 1.12 CLI 中大约有很多顶级命令,这些命令没有经过任何组织,十分混乱,对于新手来说,学习它们并不容易。比如对于容器的创建,在以前没有management command时,语句是“docker create”,而有了management command时语句就变为了“docker container create”。

<2>拉取镜像的操作

sudo docker pull 【image】

根据程序员传统以拉取hello-world为例,其结果如下,若结果不是如此,请看上文提醒的第二部分
在这里插入图片描述

<3>查看系统相关信息的语句:

docker version

运行如下
在这里插入图片描述还可以输入

sudo docker info

在这里插入图片描述

又或是

sudo docker system info

在这里插入图片描述

<4>创建一个新的容器

(1)使用 Commands

sudo docker create 【option】【image】

(2)使用 Management Commands

sudo docker container create 【option】【image】

它们作用相同,和之后要学的run类似,都是根据镜像创建一个容器、,但是create的特点是创建但是不运行,而run则会运行。
其中option是参数的意思,参数有:

  • –name 指定一个容器名称,未指定时,会随机产生一个名字
  • –hostname 设置容器的主机名
  • –mac-address 设置 MAC 地址
  • –ulimit 设置 Ulimit 选项
    说明:ulimit 是一种 Linux 系统的内建功能,一些简单的描述,可以参考 通过 ulimit 改善系统性能

<5>根据一个镜像创建新的容器并运行

(1)command命令

sudo docker run 【option】【image】

(2)management command命令

sudo docker container run 【option】【image】

其中option就是run的参数,如下

  • -i 或 --interactive, 交互模式。
  • -t 或 --tty, 分配一个 pseudo-TTY,即伪终端。
  • –rm 在容器退出后自动移除。
  • -p 将容器的端口映射到主机。
  • -v 或 --volume, 指定数据卷。

这里就以打开刚刚拉取的hello-world演示一下用法
在kali linux命令行中输入

sudon docker run hello-world

最后如下图
在这里插入图片描述
以后台模式创建并运行一个容器

docker container run \ -i -t -d \ ubuntu /bin/bash

使用 docker container ls -a 命令查看容器的状态,可以看到这个容器已经在后台运行。参数-i-t的作用是创建一个伪终端,同时在run语句中【image】后面是可以跟语句的,如上面这一段话的意思就是说基于ubuntu创建一个容器,并在容器中打开bash。
打开之后我们从这一模式出去有两种办法分别是
1.在命令行输入exit
2.先按ctrl+p再按ctrl+q
这两种方式都会让程序进入后台运行。

<6>查看容器列表

(1)command命令

sudo docker ps

(2)manage command命令

sudo docker container ls

这个命令也是有参数的

  • -a 显示所有的容器。
  • -q 仅显示 ID。
  • -s 显示总的文件大小。
  • –all显示所有容器
    -a和–all作用是差不多的
    没有参数的运行结果如下:
    在这里插入图片描述有参数(-a和–all)结果如下
    在这里插入图片描述

<7>容器的启动

(1)Management Command

sudo docker container start 【option】 containername

(2)旧的命令格式如下:

docker start 【option】 containername

不得不提的组合技(创建+启动)

(1)创建

sudo docker container create -it 【containername】 【command】

(2)启动

sudo docker container start 【containername】

<8>容器中进程的停止

(1)Management Command

sudo docker container stop 【containername】

(2)command

sudo docker stop 【containername】

<9>重启容器

(1)Management Command

sudo docker container restart 【containername】

(2)command

sudo docker restart 【containername】

<10>容器中进程的暂停

(1)Management Command

sudo docker container pause 【containername】
(2)command
sudo docker pause 【containername】

<11>连接容器

使用 attach 操作将本地标准输入输出流连接到一个运行中的容器,命令格式为:
(1)Management Commands

sudo docker container attach 【containername】

(2)command

sudo docker attach 【containername】

可以通过查看相应的主机名和 Mac 地址以判断我们是否连接到了容器。

<12>查看容器详细信息

(1)Management Commands

sudo docker container inspect 【containername】

(2)command

sudo docker inspect 【containername】

<13>真——重启容器

docker container restart 【containername】

<14>在容器中执行命令

我们还可以在一个运行中的容器中执行命令

sudo docker container exec 【containername】【command】

<15>删除容器

(1)Management Commands

sudo docker container rm 【containername】

(2)command

sudo docker rm 【containername】

或者输入

sudo docker container rm -f $(docker container ls -aq)

根据前面的学习可以发现这句话的意思是先执行括号中的语句,括号中的语句的意思是列出全部的容器,其中的参数的意思是【-a是显示全部容器】【-q是只显示名字】。最终这句话的结果放到了整句话中执行,【-f的作用是强制删除】

docker从理解到安装再到简单使用三部曲

第一步(docker的理解)
第二部(docker安装)
第三步(docker常用命令的总结)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SuperForming

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值