【云原生】Docker 实践(一):在 Docker 中部署第一个应用

news/2024/9/23 5:20:06/

Docker 实践(一):在 Docker 中部署第一个应用

  • 1.使用 YUM 方式安装 Docker
  • 2.验证 Docker 环境
  • 3.在 Docker 中部署第一个应用
    • 3.1 小插曲:docker pull 报 missing signature key 错误
    • 3.2 重新安装 Nginx

1.使用 YUM 方式安装 Docker

执行以下命令进行安装:

yum -y install docker

执行以下命令启动 Docker 的服务:

# 服务立即启动
systemctl start docker.service
# 将服务设置为每次开机启动
systemctl enable docker.service

在这里插入图片描述

从上图可以看到,Docker 分为 Client 端和 Server 端,当前安装的 Docker 是 1.13.1 版本。

若要停止 Docker,则使用以下命令:

systemctl stop docker

2.验证 Docker 环境

使用 docker info 命令可以查看 Docker 运行状态的详细信息。

docker info

在这里插入图片描述

Containers: 0Running: 0Paused: 0Stopped: 0
Images: 0
Server Version: 1.13.1
Storage Driver: overlay2Backing Filesystem: extfsSupports d_type: trueNative Overlay Diff: true
Logging Driver: journald
Cgroup Driver: systemd
Plugins: Volume: localNetwork: bridge host macvlan null overlay
Swarm: inactive
Runtimes: docker-runc runc
Default Runtime: docker-runc
Init Binary: /usr/libexec/docker/docker-init-current
containerd version:  (expected: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1)
runc version: 283e28b7d8a5ba31dd51213ce9126f3e0d529cfb (expected: 9df8b306d01f59d3a8029be411de015b7304dd8f)
init version: fec3683b971d9c3ef73f284f176672c44b448662 (expected: 949e6facb77383876aeff8a6944dde66b3089574)
Security Options:seccompWARNING: You're not using the default seccomp profileProfile: /etc/docker/seccomp.json
Kernel Version: 3.10.0-1160.49.1.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
Number of Docker Hooks: 3
CPUs: 2
Total Memory: 3.7 GiB
Name: VM-24-17-centos
ID: 4VDV:DKVF:GFPL:XGOG:ODHU:37Z5:SE77:T47J:KKR3:ZI3X:VQ43:GIDO
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:127.0.0.0/8
Live Restore Enabled: false
Registries: docker.io (secure)

通过使用系统服务命令可以查看 Docker 的运行状态。

systemctl status docker

在这里插入图片描述

3.在 Docker 中部署第一个应用

下面将演示如何在 Docker 中,通过使用 Nginx 镜像来部署第一个应用。

在镜像仓库中搜索 Nginx 的镜像。其中,OFFICAL 列中标有 [OK] 的镜像是 Docker 官方提供的镜像。

docker search nginx

在这里插入图片描述
通过以下命令从镜像仓库拉取 Nginx 的镜像到本地,这里拉取了 docker.io/library/nginx 镜像,即官方提供的 Nginx 镜像。

docker pull nginx

在这里插入图片描述

docker_pull__missing_signature_key__98">3.1 小插曲:docker pull 报 missing signature key 错误

参考《docker pull 报 missing signature key 错误》

这里报错了,是因为我们前面安装的 Docker 版本太低了。需要先卸载,再重新安装。

yum erase docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine \docker-ce

在这里插入图片描述
因为之前安装 Docker 的时候使用的是 yum -y install docker 命令,这个命令安装的是老版本,Docker 最新版本已经不叫这个名字了,需要使用 yum -y docker-ce 来安装。

yum -y install docker-ce

如果找不到 docker-ce,加入一个 yum 新镜像。

在这里插入图片描述

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在这里插入图片描述

再次执行 yum -y install docker-ce 安装命令。

yum -y install docker-ce

在这里插入图片描述
在这里插入图片描述

可以看到,新安装的 Docker 版本是 26.1.0

在这里插入图片描述

3.2 重新安装 Nginx

docker pull nginx

在这里插入图片描述

使用 docker images 命令查看本地的镜像信息。

docker images

在这里插入图片描述
执行以下命令使用镜像来创建 Nginx 的容器。

docker run -d -p 1234:80 nginx
  • -d:启动容器的守护进程。
  • -p:将容器内的 80 端口映射到宿主机的 1234 端口。这样就可以通过宿主机访问容器内部了。

在容器创建并启动成功后,可以查看 Docker 的容器信息。

docker ps

在这里插入图片描述
打开浏览器访问 http://xxx.xx.xxx.xxx:1234/,将打开 Nginx 的首页。
在这里插入图片描述
如果要终止和销毁容器,则执行以下命令。

docker rm -f 5e9b19cf567b

在这里插入图片描述
再次查看容器信息,可以看到没有任何运行的容器信息。
在这里插入图片描述


http://www.ppmy.cn/news/1445691.html

相关文章

nginx负载均衡策略

1、轮询(Round Robin)-默认 依次转发,适用于多台服务器性能相近 2、加权轮询(Weighted Round Robin) weight高的优先分配,适用于多台服务器性能相差较大 3、IP hash 基于客户端 IP 地址的负载均衡策略&a…

前端科举八股文-HTML篇

前端面试-HTML篇 什么是http?http和https有什么区别https的加密过程?http2.0有什么改进?src和href的区别对html语义化标签的理解?script标签中defer和asyc的区别?举出几个常见的行内、块级元素什么是webworker?iframe的优缺点?介绍一下tcp三次握手f…

【Spring AI】08. 输出解析器

文章目录 Output ParsersAPI 概述OutputParser 可用实现示例用法 Output Parsers OutputParser接口允许您获取结构化输出,例如将输出映射到 Java 类或从 AI 模型的基于字符串的输出中获取值数组。 您可以将其类比为 Spring JDBC 概念中的RowMapper或ResultSetExtra…

沉浸式推理乐趣:体验线上剧本杀小程序的魅力

在这个信息爆炸的时代,人们的娱乐方式也在不断地推陈出新。其中,线上剧本杀小程序以其独特的沉浸式推理乐趣,成为了许多人的新宠。它不仅让我们在闲暇之余享受到了推理的快乐,更让我们在虚拟的世界里感受到了人性的复杂与多彩。 线…

通过AI助手实现一个nas定时任务更新阿里云域名解析

一.通过AI助手实现一个ip-domain.py的脚本 起一个Python脚本,ip-domain.py;注意已安装Python3.的运行环境;将下面阿里云相关配置添加,注意这里引用了两个包,requests和alibabacloud_alidns20150109;执行前…

xhadmin多应用SaaS框架之智慧驾校H5+小程序v1.1.5正式发布!

xhadmin、免费、开源、可商用 以前考驾照的时候,驾校的教练总是给我推荐其他APP,我就很好奇,驾校为什么不能有自己的小程序? 学员报名、练车、刷题都可以在线完成。 智慧驾校专业版v1.1.5更新内容 新增题库管理新增图标管理新增…

python绘制等高线图

在Python中,可以使用matplotlib和numpy库来绘制等高线图(contour plot)。等高线图通常用于显示三维数据的二维投影,其中颜色或线条的密度表示第三维的值。 以下是一个简单的示例,说明如何使用这些库来创建等高线图&am…

深度刨析JVM垃圾收集的艺术

目录 1. 什么是垃圾 2.如何判断对象是垃圾 2.1 引用计数方法 2.2 缺点 2.3 可达性分析算法 3. 清除垃圾对象算法 3.1 标记-清除算法 3.2 复制算法 3.3 标记压缩算法