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

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: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.13.1
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: journald
Cgroup Driver: systemd
Plugins: 
 Volume: local
 Network: 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:
 seccomp
  WARNING: You're not using the default seccomp profile
  Profile: /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

在这里插入图片描述

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/584841.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QT学习之QtXlsx

背景: 本来我是想提取xml中的信息存在xlsx文件中的,网上很多说是使用QtXlsx; 于是我找了一些帖, 像:https://www.cnblogs.com/liming19680104/p/14398459.html; 大家的说法都是安装第三方库到QT中&#xff…

Linux内存相关名词介绍

在日常的问题排查过程中,Linux内存相关的问题也非常多,OOM、内存泄漏 都是比较头疼的而且非常常见一些问题。如下图,我们都知道Linux 内存将内存做了以下划分(如: Node、Zone、Page),这里我们先简单看一些内存相关的名词解释。 …

「中标喜报」合众致达中标深圳安居乐寓智能水电表供货及安装项目

2024年4月25日,深圳合众致达科技有限公司(以下简称“我司”)成功中标安居乐寓2023盐田区保障性租赁住房改造提升项目的水电表供货与安装工程(二次)项目,此次中标标志着我司在城中村公寓出租房能源计费领域的专业实力及市场竞争力得到了进一步的认可。 我…

手搓数组栈(C语言)

stack.h #pragma once#include <stdio.h> #include <stdlib.h> #include <assert.h> #include <stdbool.h> // 支持动态增长的栈 typedef int STDataType; typedef struct Stack {STDataType* a;int top; // 栈顶int capacity; // 容量 }Stack; //…

我们自己的芯片指令集架构——龙芯架构简介

CPU指令集架构&#xff08;ISA, Instruction Set Architecture&#xff09; CPU指令集架构是处理器硬件与软件之间的接口规范&#xff0c;它定义了一组基本指令&#xff0c;以及这些指令的操作格式、编码方式、寻址模式、寄存器组织、中断机制、异常处理等各个方面。ISA是计算…

MySQL中的并发控制,读写锁,和锁的粒度

MySQL中的并发控制&#xff0c;读写锁&#xff0c;和锁的粒度 并发控制的概述 在数据库系统中&#xff0c;并发控制是一种用于确保当多个用户同时访问数据库时&#xff0c;系统能够提供数据的一致性和隔离性的机制。MySQL支持多种并发控制技术&#xff0c;其中包括锁机制、多…

Unity镂空图像做法

问题和解决方案 现在要完成一个需求&#xff0c;即镂空中间部分的image&#xff0c;外围image可以定义颜色并可选屏蔽点击&#xff0c;而中间的image需要透明且可以穿透&#xff0c;必须不能屏蔽点击。 由此拆分成了两个问题&#xff1a; 1.定义外围image颜色&#xff0c;内…

力扣数据库题库学习(4.25日)

1484. 按日期分组销售产品 问题链接 思路与分析 编写解决方案找出每个日期、销售的不同产品的数量及其名称。 每个日期的销售产品名称应按词典序排列。 返回按 sell_date 排序的结果表。我来分析一下&#xff0c;这里的题目要求其实就是统计不同日期下的销售产品数&#xf…

什么是域名解析?域名解析的完整流程是什么?如何清理DNS缓存?(附源码)

目录 1、什么是域名&#xff1f; 2、为什么使用域名&#xff1f; 3、域名解析的完整流程 4、调用gethostbyname系统接口将域名解析成IP地址 5、为什么需要清理系统DNS缓存&#xff1f; 6、使用cmd命令清理DNS缓存 7、通过代码去清除系统DNS缓存 C软件异常排查从入门到精…

Ubuntu 24.04 LTS (Noble Numbat) 正式版发布

Ubuntu 24.04 LTS (Noble Numbat) 正式版发布 Canonical 的第 10 个长期支持版本在性能工程、企业安全和开发人员体验方面树立了新标准 请访问原文链接&#xff1a;Ubuntu 24.04 LTS (Noble Numbat) 正式版发布&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。…

Pytest切换测试环境:使用hooks函数、pytest-base-url插件

Pytest切换测试环境&#xff1a;使用hooks函数、pytest-base-url插件 1.使用hooks函数2.使用pytest-base-url插件安装pytest-base-url使用 1.使用hooks函数 # conftest.py#Initialization hooks 初始化钩子: 添加自定义命令行选项 def pytest_addoption(parser):parser.addopt…

一、OSPF基础

目录 1.路由协议的优先级 2.转发原则&#xff1a;最长匹配原则 3.负载分担 4.路由备份&#xff08;浮动路由&#xff09; 5.路由协议的分类 6.动态路由 7.距离矢量路由协议&#xff08;BGP&#xff0c;RIP&#xff09; 8.链路状态路由协议&#xff08;OSPF&#xff0c;I…

Vue3框架

Vue3框架 一.使用create-vue搭建Vue3项目二.组合式API - setup选项1.setup选项的写法和执行时机2.setup中写代码的特点3. script setup 语法糖 三.组合式API - reactive和ref函数1. reactive2. ref3. reactive 对比 ref 四.组合式API - computed五.组合式API - watch1. 侦听单个…

Flutter 有什么优异特性和革命性创新之处?

Flutter 有什么优异特性和革命性创新之处? 什么是 Flutter&#xff1f; Flutter mobile app SDK是一种新的方式来构建漂亮的原生移动应用程序&#xff0c;摆脱过去常见的“千篇一律”的应用程序。用过Flutter的人都对它赞赏有加&#xff1b; 相比较其他新型系统&#xff0c…

制作场景资源的Prefab

制作骨骼模型的Prefab 现在游戏内的使用骨骼模型是通过老版的Animator去实现控制的&#xff0c;所以需要将模型切换为Animator 第一步&#xff0c;动画类型设置为Generic&#xff0c;创建Avatar 模型里面会有对应的Avatar文件 我们还需要一个Controller文件&#xff0c;用于…

VMware虚拟机下载安装教程【超详细】

推荐大佬文章&#xff1a;VMware下载安装教程(超详细)-CSDN博客 目录 一、VMware下载 二、VMware安装 一、VMware下载 1、进入VMware官网 2、点击“Products”&#xff0c;向下滑动 --> 选择“Workstation Pro” 3、向下滑动&#xff0c;找到并选择“Download VMware Wo…

numpy+matplotlib绘制玫瑰线图案

【第10次课]实验十一数据可视化及应用】 声明&#xff1a;著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 1.简答题 本实验绘制简单图形&#xff0c;要导入numpy库函数和matplotlib.pyplot子库函数: import matplotlib.pyplot as plt impor…

【介绍下Android开发环境的搭建】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

源码编译framework.jar 并成功导入android studio 开发

一、不同安卓版本对应路径 Android N/O: 7 和 8 out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar Android P/Q: 9 和 10 out/soong/.intermediates/frameworks/base/framework/android_common/combined/framework.jar Android R: 11以上 out/so…

计算机考研到双非院校的性价比分析

我选择读研为自己过渡深造&#xff0c;本科期间没有做过项目和实验&#xff0c;读研期间好好搞 很多公司更加看中的是个人硬实力...双非研究生出去找工作机会也并不少&#xff0c;只要实力够&#xff0c;学历加成一下&#xff0c;机会还是非常多的 研究生的学历算是一个门槛&…