文章目录
- 概要
- 前期回顾
- 整体流程
- 名词解释
- 安装Docker
- 镜像管理
- 容器管理
- 小结
- 写在最后
概要
本篇是《手把手教你入门云计算》
第三篇了,相信读到这的读者(基础知识已经基本具备了),没有具备的也没有关系,可以看笔者的前面几篇快速浏览过一遍,或者直接进入实战环节,笔者会尽量用通俗易懂的语言带领大家进行实操,咱们还是直接开干!!!
前期回顾
手把手教你入门云计算(一):云计算居然是“电”,和云计算谈一场永不分手的恋爱?这篇攻略收好
手把手教你入门云计算(二):这些技术改变了世界,你也能轻松掌握
整体流程
操作环境:华为云云主机,系统版本Ubuntu 24.04.1 LTS
1 安装并部署docker
2 镜像管理操作
3 容器管理操作
名词解释
Docker概述
Docker 是一个用于开发、发布和运行应用程序的开放平台。Docker 使您能够将应用程序与基础设施分离,以便您可以快速交付软件。简单理解,我们可以将Docker想象成打包技术,它更像是将各个货物(程序和依赖环境)打包整理的集装箱,我们能通过 Docker来传送、测试和部署代码
。
映像
容器映像是一个标准化包,其中包含运行容器的所有文件、二进制文件、库和配置,简单理解,映像是静态的模板
,相当于一个「安装包」。它包含运行程序所需的一切:代码、环境、配置、依赖等。
容器
容器是每个应用程序组件的独立进程。每个组件(前端 React 应用程序、Python API 引擎和数据库)都在自己的隔离环境中运行,与计算机上的其他所有组件完全隔离。简单理解,容器是镜像的运行时实例,相当于「根据模板启动的进程」
注册表
注册表是存储和管理容器映像的集中位置。简单理解,注册表相当于 Docker 镜像的「应用商店」,是集中存储和分发 Docker 镜像的地方。
Docker Compose
Docker Compose 是一个工具,用于通过一个配置文件(docker-compose.yml)一键管理多个容器。
总结
我举个更容易理解的例子,我们可以把映像类比是C++中的类,而容器是C++中的对象。
安装Docker
1 这里我们可以先查看一下系统版本
。
cat /etc/issue
我的系统版本是ubuntu 24.04.1 LTS
2 安装依赖工具
sudo apt-get update
sudo apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release
PS:一般都有,保险起见,再装一下
3 添加Docker的GPG密钥(使用官方源)
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
4 添加Docker的APT仓库(使用阿里云镜像)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5 更新APT索引并安装Docker
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
6 配置Docker镜像加速器(华为云镜像)
sudo mkdir -p /etc/docker
sudo vim /etc/docker/daemon.json
写入以下内容
{
"registry-mirrors": [ "https://0cf850bb9480f3170f2dc01234ec1ca0.mirror.swr.myhuaweicloud.com" ]
}
7 重启Docker服务并设置开机自启
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl enable docker
8 验证安装,查看版本
sudo docker version
PS:显示出版本号安装成功
9 非root用户需将用户加入docker组
sudo usermod -aG docker $USER
newgrp docker # 切换到docker组
镜像管理
1 拉取httpd和centos镜像
docker pull httpd
docker pull centos
ps:注意看这里我们可以看到将非root用户需将用户加入docker组后,我们执行docker命令前可以不加sudo.
2 查看已有镜像
docker images
3 强制删除镜像
docker rmi centos
容器管理
1.创建一个容器并运行
docker run --privileged -it -d -p 80:80 --name datahttpd -v /data/:/var/www/httpd/ httpd
示例命令表示:
1 使用镜像httpd,以交互模式启动一个容器,将容器的80端口映射到宿主机的80端口,宿主机的目录/data映射到容器的/var/www/httpd目录,并返回容器ID。2 参数说明如下:
-i:以交互模式运行容器,通常与-t同时使用。
-t:为容器重新分配一个伪输入终端,通常与-i同时使用。
-d:后台运行容器,并返回容器ID。
-p:端口映射,格式为“宿主机端口:容器端口”。
–name:为容器指定一个名称。
-v:把宿主机上的一个目录挂载到镜像里,格式为“宿主机目录:镜像内挂载的路径”,必须为绝对路径。
2 查看容器启动情况。
docker ps -a
此时可看我们的容器已处于启动中,实验已完成。
小结
这个实践能够让你能够熟悉docker镜像与容器的创建等命令,初步使用docker技术进行开发。
写在最后
这个实践内容特别简单,不过却可以让你对于docker的使用有个初步的了解,如果想要更深入的内容,关注我,下期更精彩。