赞
踩
目录
systemctl restart docker;
su root
密码是root;方式一:apt-get update
方式一:apt-get update
场景:(是在VMware中的linux系统里操作的)
Docker容器与镜像(docker的每一个容器在创建时都会指定使用的镜像)
一个容器只能使用一个镜像。容器是基于镜像创建的,镜像是容器的基础。每个容器都是基于一个特定的镜像运行的,它包含了该镜像的文件系统和应用程序。
在Docker中,每个容器都是相互隔离的,并且具有自己的文件系统、进程空间和网络接口。因此,一个容器只能使用一个镜像来构建其环境和运行应用程序。
如果你需要在一个容器中运行多个应用程序,可以在镜像中预先配置好这些应用程序,或者在容器中安装和运行额外的应用程序。但是这些应用程序仍然是基于同一个镜像运行的,容器本身仍然只能使用一个镜像。
(镜像images、容器containers、构建docker镜像文件Dockerfile、将镜像打包下载Tar files、仓库Registry)其余的都是当前板块使用的命令
组件类别 | 组件名称 | 说明 | 关系 |
---|---|---|---|
Docker 引擎 | Docker CLI | 命令行界面,用户通过它与 Docker Daemon 交互。 | 与 Docker Daemon 通信。 |
Docker Daemon | 核心服务,处理容器的构建、运行和管理。 | - 与 Docker CLI 通信。 | |
- 使用 Containerd 管理容器。 | |||
- 直接管理容器、镜像、卷和网络。 | |||
Containerd | 高效的容器运行时,管理容器生命周期。 | 被 Docker Daemon 使用。 | |
RunC | 执行容器的 CLI 工具,符合 OCI 标准。 | 被 Containerd 使用。 | |
容器管理 | 容器 (Container) | 容器化的应用实例。 | 由 Docker Daemon 管理。 |
镜像 (Image) | 容器运行所需的文件系统和元数据。 | 由 Docker Daemon 管理。 | |
卷 (Volume) | 持久化数据存储,供容器使用。 | 由 Docker Daemon 管理。 | |
网络 (Network) | 容器之间和外部的网络配置。 | 由 Docker Daemon 管理。 | |
Docker 生态系统 | Docker Compose | 用于定义和运行多容器应用的工具。 | 使用 Docker CLI 与 Docker Daemon 通信。 |
Docker Swarm | Docker 的集群管理和编排工具。 | 编排 Docker Daemon。 | |
Kubernetes | 开源的容器编排平台,管理和调度容器。 | 编排 Docker Daemon |
Docker容器和镜像是Docker技术中的两个核心概念,它们之间有以下区别:
docker容器:
对比原始的虚拟机技术:
镜像(Image)、容器(Container)、仓库(Repository)是 Docker 技术的核心概念。它们一起构成了构建、分发和运行容器化应用程序的基础;
alpine
、ubuntu
等)。- docker pull nginx
- docker run -d nginx
docker pull nginx
:从仓库中拉取 nginx
镜像。docker run -d nginx
:基于 nginx
镜像创建并运行一个容器。docker run -it --name mycontainer ubuntu /bin/bash
ubuntu
镜像的容器,并启动一个 Bash 终端。- docker push myrepo/myimage:latest
- docker pull myrepo/myimage:latest
docker push myrepo/myimage:latest
:将镜像推送到 myrepo
仓库。docker pull myrepo/myimage:latest
:从 myrepo
仓库中拉取镜像。概念 | 定义 | 特性 | 关系 | 示例 |
---|---|---|---|---|
镜像 | 轻量级、不可变的二进制包,包含运行应用所需的文件和依赖。 | 不可变、分层存储、便携性、可版本控制。 | 创建容器的基础,存储在仓库中。 | docker pull ,docker build |
容器 | 镜像的运行实例,提供隔离的操作环境。 | 轻量级、可移植、隔离性、短暂性。 | 从镜像创建并运行,使用仓库中的镜像。 | docker run ,docker stop |
仓库 | 存储和分发 Docker 镜像的地方。 | 镜像存储、共享、权限控制。 | 存储镜像,供创建容器使用。 | docker push ,docker pull |
1. 确认系统版本
确保系统是 CentOS 7 或以上版本。
2. yum安装gcc相关环境
- yum -y install gcc
- yum -y install gcc-c++
3. 卸载旧版本 Docker
- yum remove docker \
- docker-client \
- docker-client-latest \
- docker-common \
- docker-latest \
- docker-latest-logrotate \
- docker-logrotate \
- docker-engine
4. 安装必要的软件包
yum install -y yum-utils
5. 设置 Docker 镜像仓库
推荐使用国内镜像,例如阿里云的镜像:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
在docker安装成功后配置一下阿里云的加速:
6. 更新 Yum 软件包索引
yum makecache fast
7. 安装 Docker CE
yum install docker-ce docker-ce-cli containerd.io
8. 启动 Docker
systemctl start docker
9. 设置 Docker 开机自启
systemctl enable docker
10. 验证 Docker 安装
docker version
docker run hello-world
docker images
11. 卸载 Docker
systemctl stop docker
yum -y remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
以上步骤整理了在 CentOS 系统上安装和管理 Docker CE 的流程;
(hello world是怎样运行的)
图流程:
Docker 的 docker run 命令是用来创建并启动一个新的容器实例的主要命令,它涉及到多个步骤和参数配置。以下是 Docker run 命令的流程和关键步骤:
docker run
命令中指定的参数(如端口映射、环境变量、挂载的数据卷等)来配置容器的运行时环境。2.8.2 docker run
命令的关键参数和配置-d
:后台运行容器。-it
:交互式终端,通常与 -d
配合使用。--name
:指定容器的名称。-p
:端口映射,将容器内部的端口映射到宿主机上的端口。-e
:设置环境变量。-v
:挂载数据卷,与宿主机共享数据。--network
:指定容器使用的网络模式。--rm
:容器停止后自动删除。以下是一个示例 docker run
命令及其流程:
docker run -d --name mynginx -p 8080:80 nginx
nginx
镜像,如果没有则从默认仓库拉取。nginx
镜像创建一个新的容器实例,分配一个唯一的容器 ID。-d
让容器在后台运行。--name mynginx
指定容器名称为 mynginx
。-p 8080:80
将容器内部的 80 端口映射到宿主机的 8080 端口。nginx
容器,并开始监听端口。http://localhost:8080
来访问宿主机上运行的 nginx
服务。这样,docker run
命令完成了从镜像创建到容器运行的整个流程,使得用户可以方便地启动和管理 Docker 容器。
以下是Docker的工作流程及其关键步骤的表格表示:
步骤 | 说明 |
---|---|
1. 镜像管理 | Docker 使用镜像来打包和分发应用程序及其所有依赖。 |
2. 容器生命周期管理 | Docker 容器是镜像的运行实例,提供应用程序的隔离运行环境。容器的生命周期包括创建、启动、停止、删除等过程。 |
3. 网络管理 | Docker 管理容器之间的网络通信,以及容器与宿主机之间的网络通信。默认情况下,Docker 为容器创建一个虚拟网络,容器可以通过桥接、主机模式、Overlay 等网络模式进行通信。 |
4. 存储管理 | Docker 使用数据卷(Volumes)和绑定挂载(Bind Mounts)来持久化容器中的数据。数据卷可以在容器之间共享数据,并且数据卷中的数据在容器删除后不会被自动清空。 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。