IT工程师都需要掌握的容器技术之Docker容器管理


IT工程师都需要掌握的容器技术之Docker容器管理文章插图
阅读本文约需要10分钟 , 您可以先关注我们 , 避免下次无法找到 。
上篇文章我们讲解了docker的基本用法主要涉及到容器的安装、容器仓库镜像的配置及容器镜像的管理等 。 今天这篇文章我们主要了解一下Docker容器管理的一些基础及其命令的使用方法 。
01 运行容器我们先来看看运行容器的命令格式 , 具体如下:
1. docker container run [OPTIONS] IMAGE [COMMAND [ARGS...]]docker run命令后面常跟的参数如下:
1) -i 或 --interactive ,交互模式 。
2) -t 或 --tty ,分配一个伪终端 。
3) --rm 在容器退出后自动删除容器 。
4) -p 将容器的端口映射到主机 。
5) -v 或 --volume ,指定数据卷
现在我们创建一个容器然后运行命令"echo 'Hi chenge'"如下图所示:
1. docker container run ubuntu echo "HI chenge"
IT工程师都需要掌握的容器技术之Docker容器管理文章插图
IT工程师都需要掌握的容器技术之Docker容器管理文章插图
如上我们可以看到执行过程如下:
1)命令后面跟的镜像名称系统会先查询本地是否有该镜像 , 如果没有就是到远端的镜像仓库进行下载
2)镜像完成下载后会自动启动并执行创建命令后面跟的命令
3)容器执行完命令会自动退出如上图所示
这边肯定有读者问我让容器执行完不让其自动退出该怎么办 。 其实很简单只要在创建容器时加入让其持续运行的命令即可 , 如/bin/bash命令 。 下面我们创建一个容器让其持续运行不退出 , 命令如下所示:
1. docker container run -it ubuntu /bin/bash这边的-it参数是打开一个伪终端 , 创建容器后我们会自动进入容器终端中 , 如下图:
IT工程师都需要掌握的容器技术之Docker容器管理文章插图
如果这时我们要退出终端界面该怎么办呢 , 有两种方法:
1)直接通过exit命令退出 , 执行这个命令后我们退出该终端的同时该容器也会停止运行
IT工程师都需要掌握的容器技术之Docker容器管理文章插图
2)通过"Ctrl+P"与"Ctrl+q"的命令进行退出 , 这种方式退出容器会进入后台运行并不会停止运行
IT工程师都需要掌握的容器技术之Docker容器管理文章插图
其实我们可以直接在创建容器时加入-d的命令 , 让容器自动在后台运行而不需要再进入终端再退出这样繁琐的操作具体命令如下:
1. docker container run -itd ubuntu /bin/bash
IT工程师都需要掌握的容器技术之Docker容器管理文章插图
02容器创建上面章节介绍的docker run命令其实并不只是创建了容器 , 它在创建的容器的同时运行了容器 。 我们现在来介绍只创建容器但不运行容器的命令 , 具体命令格式如下:
1. # 创建容器命令2. docker container create [OPTIONS] IMAGE [COMMAND] [ARG...]上面命令会创建指定镜像的容器 , 但不会运行该容器 , 其后面常跟的参数如下所示:
1)--name 给创建的容器指定一个名字
2)--hostname 设置容器主机名
3)--network 指定容器网络类型,目前容器常用的网络类型有none、host及bridge , 如果创建容器不指定网络类型默认的是使用bridge也就是桥接docker0上 , 在下面的章节中我们会详细讲解容器网络类型敬请关注
4)--ulimit 设置容器资源限制 , 其命令格式与linux的ulimit用法一致 , 参数如下所示:
IT工程师都需要掌握的容器技术之Docker容器管理文章插图
现在我们通过容器创建命令创建一个容器 , 同时设置容器名称为test1,容器的主机名为test , 网络我们使用docker默认网络(bridge),同时限制容器的进程范围为3000至4000如下所示:
IT工程师都需要掌握的容器技术之Docker容器管理文章插图
当容器创建成功后会主动打印其ID , 容器的ID有两种格式:
1)UUID长标格式也就是创建好打印的那一串字符
2)UUID短标格式 , 它是长标格式的缩写
IT工程师都需要掌握的容器技术之Docker容器管理文章插图
在我们操作容器时既可以用长标UUID也可以用短标UUID(这边要注意短标UUID有可能重复毕竟是截的长标的UUID部分内容) , 同时还可以通过容器name来操作容器 。
03 容器删除删除容器的具体命令如下:
1. # 删除容器2. docker container rm [OPTIONS] CONTAINER [CONTAINER...]