Docker之容器管理基础

容器是Docker的另一个核心概念。
简单来说容器就是镜像的一个运行实例。

本次操作的运行环境为:
系统版本:centos7.4.1708
Docker版本:19.03.8

本部分内容将会进行对容器的创建、进入、停止、删除等操作进行讲解。

————————————————————————————————

创建容器:

新建容器:docker [container] create
注:由于container可以省略,所以后续部分命令将进行省略。
使用docekr create创建的容器处于停止状态,可以使用docker start命令启动
例:

# docker create -it busybox:latest

新建并启动容器:docker run
相当于docker createdocker start命令相结合。
启动容器后,可以通过docekr ps命令查看正在运行的容器。
例:

# docker run ubuntu:latest /bin/echo 'hello world'
hello world

使用docker run命令来创建并启动容器时,Docker在后台的操作流程如下:

  • 检查本地是否存在指定镜像,如果没有就从公有仓库下载
  • 利用镜像创建一个容器并启动
  • 分配一个文件系统个容器,并在只读的镜像层外挂载一层可写层
  • 从宿主机配置的网桥接口中桥接一个虚拟接口到容器中
  • 从网桥的地址池中分配一个ip地址给容器
  • 执行用户指定的应用程序
  • 执行完毕后容器终止

有时执行docker run命令会无法正常执行容器会报错直接退出,常见的错误代码如下:

  • 125:Docker daemon执行出错,例如指定了不支持的Docker命令参数
  • 126:所指定命令无法执行,例如权限出错
  • 127:容器内命令无法找到

create命令与容器运行模式/环境和配置常用选项:

选项说明
-d是否在后台运行容器,默认为否
- -group-add=[]运行容器的用户组
-i保持标准输入打开
-P随机端口映射
-p指定端口映射到本地端口,例 80:80
- -restart=“always”容器的重启策略,包括no,always等
- -rm=true/false容器退出后是否自动删除,不能与-d同时使用
-t分配一个伪终端
-v挂在主机上的文件卷到容器内
-w容器内的默认工作目录
- -device=[]映射物理机上设备到容器
-e指定容器内环境变量
-h指定容器内主机名
- -ip=“”指定容器的ip地址
- -link=[:aklias]链接到其他容器
- -name指定容器的别名

停止容器:

暂停容器:docker pause
例:启动一个容器并将它暂停

# docker run -d -p 80:80 --name web nginx:latest
# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
1b52669a4ce3        nginx:latest        "nginx -g 'daemon of…"   3 minutes ago       Up 3 minutes        0.0.0.0:80->80/tcp   web
# docker pause web
web

可通过docker unpause命令进行恢复。
停止容器:docker stop
将一个正在运行的容器停止。
可用docker container prune命令将停止的容器清除。
可用docker start命令将停止的容器启动。
可用docker ps查看正在运行的容器。
可用docker ps -qa查看所有容器的ID。
可用docker restart命令重启运行的容器。
例:将一个运行的容器停止。

# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
1b52669a4ce3        nginx:latest        "nginx -g 'daemon of…"   6 minutes ago       Up 6 minutes        0.0.0.0:80->80/tcp   web
# docker stop web
web
# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

进入容器:

直接讲一个常用的命令:exec
命令格式:docker exec [参数] [容器]
常用参数:

  • -e:指定环境变量列表
  • -i:打开标准输入
  • -t:分配一个伪终端
  • -u:指定命令的用户名或ID
    例:开启另一个终端
# docker exec -ti web bash
root@1b52669a4ce3:/#

删除容器:

删除容器:docker rm
默认删除处于终止或退出状态的容器。
输入命令docker rm -f 删除处于运行中的容器
输入命令docker ps -a查看终止状态的容器
例:删除处于终止状态的容器

# docker rm web
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

丶重明

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

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

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

打赏作者

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

抵扣说明:

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

余额充值