Docker之容器管理基础

简介: 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


目录
相关文章
|
14天前
|
Linux iOS开发 Docker
Docker:容器化技术的领航者 —— 从基础到实践的全面解析
在云计算与微服务架构日益盛行的今天,Docker作为容器化技术的佼佼者,正引领着一场软件开发与部署的革命。它不仅极大地提升了应用部署的灵活性与效率,还为持续集成/持续部署(CI/CD)提供了强有力的支撑。
192 69
|
1天前
|
Kubernetes Cloud Native 持续交付
云原生之旅:Docker容器化与Kubernetes集群管理
【9月更文挑战第33天】在数字化转型的浪潮中,云原生技术如同一艘航船,带领企业乘风破浪。本篇文章将作为你的航海指南,从Docker容器化的基础讲起,直至Kubernetes集群的高级管理,我们将一起探索云原生的奥秘。你将学习到如何封装应用、实现环境隔离,以及如何在Kubernetes集群中部署、监控和扩展你的服务。让我们启航,驶向灵活、可伸缩的云原生未来。
|
4天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker与Kubernetes入门
【9月更文挑战第30天】在云计算的浪潮中,云原生技术正以前所未有的速度重塑着软件开发和运维领域。本文将通过深入浅出的方式,带你了解云原生的核心组件——Docker容器和Kubernetes集群,并探索它们如何助力现代应用的构建、部署和管理。从Docker的基本命令到Kubernetes的资源调度,我们将一起开启云原生技术的奇妙之旅。
|
14天前
|
运维 Cloud Native Docker
云原生技术入门:Docker容器化实战
【9月更文挑战第20天】本文将引导你走进云原生技术的世界,通过Docker容器化技术的实战演练,深入理解其背后的原理和应用。我们将一起探索如何在云平台上利用Docker简化部署、扩展和管理应用程序的过程,并揭示这一技术如何改变现代软件的开发和运维模式。
|
9天前
|
Cloud Native 持续交付 Docker
云原生技术入门与实践:Docker容器化部署示例
【9月更文挑战第25天】在数字化转型的浪潮下,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,为初学者揭示云原生技术的核心概念及其应用价值。我们将以Docker容器为例,逐步引导读者了解如何将应用程序容器化,并在云端高效运行。这不仅是对技术趋势的跟随,更是对资源利用和开发效率提升的探索。
29 4
|
7天前
|
Kubernetes Linux 开发者
深入探索Docker容器化技术的奥秘
深入探索Docker容器化技术的奥秘
16 1
|
10天前
|
存储 Docker 容器
Docker中容器间的通信方式有哪些13
Docker中容器间的通信方式有哪些13
14 4
|
5天前
|
网络协议 安全 开发者
掌握 Docker 网络:构建复杂的容器通信
在 Docker 容器化环境中,容器间的通信至关重要。本文详细介绍了 Docker 网络的基础知识,包括网络驱动、端口映射和命名等核心概念,并深入探讨了 Bridge、Host、Overlay 和 Macvlan 四种网络类型的特点及应用场景。此外,还提供了创建、连接、查看和删除自定义网络的命令示例,以及高级网络配置方法,如网络命名空间、DNS 解析和安全通信配置,帮助开发者构建更健壮的容器化应用。
|
6天前
|
Cloud Native 持续交付 Docker
深入解析Docker容器化技术及其在生产环境中的应用
深入解析Docker容器化技术及其在生产环境中的应用
10 0
|
7天前
|
存储 Kubernetes Docker
深入探索容器化技术:Docker 实战与 Kubernetes 管理
深入探索容器化技术:Docker 实战与 Kubernetes 管理
21 0
下一篇
无影云桌面