云计算——Docker容器实践入门(手把手教你入门云计算(三))

文章目录

    • 概要
  • 前期回顾
    • 整体流程
    • 名词解释
    • 安装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的使用有个初步的了解,如果想要更深入的内容,关注我,下期更精彩。


创作不易,求关注,点赞,收藏,谢谢~
### 关于VSCode配置的程文章 #### 1. VSCode基础安装与设置 介绍如何下载并安装Visual Studio Code,以及基本界面导航和初始设置[^2]。 #### 2. 使用VSCode进行C语言开发环境构建指南 提供详细的步骤来创建适合编写、编译和运行C程序的工作区,包括安装必要的组件如MinGW等工具链[^1]。 #### 3. 定制化工作流:提升效率的最佳实践 分享一系列技巧帮助开发者优化日常编码体验,涵盖主题更换、快捷键自定义等方面[^3]。 #### 4. C/C++项目在Linux下的VSCode配置方法 针对希望利用该平台开展跨平台项目的用户群体,特别强调了对于不同操作系统间差异性的处理方式[^4]。 #### 5. 扩展市场中的精华——推荐给每位用户的十大必备插件 精选了一系列能够显著提高生产力的应用程序,并解释各自的功能特点及其应用场景。 #### 6. JSON文件解析:深入理解settings.json的作用机制 通过具体实例展示怎样调整各种参数选项以满足个人需求或团队协作的要求。 #### 7. 调试支持全面解读——让错误无所遁形 讲解内置调试器的强大之处,指导读者学会运用断点、变量监视等功能快速定位问题所在。 #### 8. Git版本控制系统集成入门学视频系列 手把手你完成仓库初始化到提交更改的所有操作流程,确保源码管理更加有序高效。 #### 9. Markdown写作辅助利器——打造精美文档从未如此简单 探讨了几款专为撰写技术文档而设计的小工具,使文字排版变得轻松自如。 #### 10. Python编程新手友好型指南之一:从零开始学Python 虽然重点在于另一种语言的学习路径规划,但也涉及到不少通用概念和技术要点值得借鉴。 #### 11. JavaScript前端框架React入门课程概览 即使专注于特定领域的内容也包含了大量有关UI布局、状态管理和事件响应的知识点可供参考。 #### 12. 数据科学家最爱的数据分析库Pandas初探 尽管面向的是数据分析方向的人士,但其中涉及到了很多数据处理方面的技能同样适用于其他类型的项目。 #### 13. Docker容器化应用部署实战演练 展示了如何借助Docker简化应用程序打包分发过程的同时保持良好的兼容性和移植性。 #### 14. RESTful API服务端接口设计原则剖析 围绕REST架构风格展开讨论,旨在培养良好的API设计理念以便更好地服务于前后端分离式的Web应用开发模式。 #### 15. Kubernetes集群自动化运维解决方案探索 聚焦Kubernetes这一热门话题,带领大家了解其核心概念并通过实际案例加深印象。 #### 16. TensorFlow机器学习框架概述及简易模型训练实操手册 不仅介绍了TensorFlow的基础理论知识还提供了完整的实验代码供有兴趣的朋友尝试练习。 #### 17. AWS云服务平台资源申请与计费策略详述 帮助初次接触云计算的新用户提供了一份清晰明了的服务条款说明文档。 #### 18. Unity游戏引擎维建模与动画制作全流程揭秘 即使是非游戏玩家也能从中获取关于图形渲染管线运作原理的第一手资料。 #### 19. Arduino开源硬件平台Arduino IDE替代方案评估报告 比较了几种流行的IDE特性之后得出结论认为VSCode可能是最佳的选择之一。 #### 20. Rust系统级编程语言官方文档中文翻译计划进展汇报 鼓励更多爱好者参与到社区贡献活动中去共同推动Rust在国内的发展壮大。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wxchyy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值