Docker入门(安装、换阿里源及配置阿里云镜像加速)

2023-11-08

一、Docker 概述

1.1 Docker 为什么出现

  1. 要解决的问题
    一款产品: 开发 – 上线 两套环境! 应用环境, 应用配置!

    开发 – 运维.
    问题: 我在我的电脑上可以运行! 版本更新, 导致服务不可用! 对于运维来说, 考验就十分大!
    环境配置十分的麻烦, 每一个机器都要部署环境(集群Redis、ES、Hadoop…)! 费时费力。
    发布一个项目(jar + (Redis + MySQL jdk ES)), 项目能不能都带上环境安装打包!
    之前在服务器配置一个应用的环境 Redis MySQL jdk ES Hadoop , 配置超麻烦, 不能够跨平台.
    Windows, 最后发布到 Linux!
    传统: 开发jar, 运维来做!
    现在: 开发打包部署上线, 一套流程做完!

  2. 解决方案
    java – apk – 发布( 应用商店) — 张三使用apk — 安装即可用
    java – jar(环境) – 打包项目带上环境(镜像) — (Docker仓库: 商店) — 下载我们发布的镜像 — 直接运行即可!

    Docker 给以上的问题, 提出了解决方案!
    在这里插入图片描述

    Docker的思想就是来自于 集装箱 !
    JRE – 多个应用(端口冲突) – 原来都是交叉的!
    隔离: Docker 核心思想! 打包装箱! 每个箱子是互相隔离的.
    Docker 通过隔离机制, 可以将服务器利用到极致!

    本质: 所有的技术都是因为出现了一些问题, 我们需要去解决, 才去学习!

1.2 Docker 的历史

在这里插入图片描述

1.3 聊聊 Docker

Docker是基于Go语言开发的开源项目 官网
在这里插入图片描述
文档地址 Docker的文档是超级详细的!
仓库地址:https://hub.docker.com/(发布docker镜像)

1.4 Docker 能干嘛

虚拟机技术

缺点:
1、资源占用十分多
2、冗余步骤多
3、启动很慢

在这里插入图片描述
容器化技术
容器化技术不是模拟的一个完整的操作系统
在这里插入图片描述
比较Docker和虚拟机技术的不同:

  • 传统虚拟机虚拟出一套硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
  • 容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了
  • 每个容器间是相互隔离,每个容器内都有一个属于自己的文件系统,互不影响

DevOps(开发、运维)

应用更快速的交付和部署
传统:一堆帮助文档,安装程序
Docker:打包镜像发布测试,一键运行

更便捷的升级和扩缩容
使用了Docker之后,我们部署应用就和搭积木一样!
项目打包为一个镜像,扩展服务器A! 服务器B

更简单的系统运维
在容器化后,开发测试环境都是高度一致的

更高效的计算资源利用
Docker是内核级别的虚拟化,可以在一个物理机上运行很多的容器实例,服务器的性能可以压榨到极致

二、Docker 安装

2.1 Docker 的基本组成

在这里插入图片描述
镜像(image):
docker 镜像就好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像==>run==>tomcat01容器(提供服务器)
通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)

容器(container):
Docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的
启动、停止、删除、基本命令 ==> 目前可以把这个容器理解为一个简易的linux系统

仓库(repository):
仓库就是存放镜像的地方,分为公有仓库和私有仓库
Docker Hub(默认是国外的)
阿里云(配置镜像加速)

2.2 安装 Docker

环境准备

1、需要会一点点的Linux基础
2、CentOS 7
3、Xshell

环境查看

# 系统内核是 3.10 以上的
[root@dixinkk etc]# uname -r
3.10.0-514.26.2.el7.x86_64
# 系统版本
[root@dixinkk ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

---------------或者
[root@dixinkk ~]# lsb_release -a 
LSB Version:	:core-4.1-amd64:core-4.1-noarch
Distributor ID:	CentOS
Description:	CentOS Linux release 7.3.1611 (Core) 
Release:	7.3.1611
Codename:	Core

安装

帮助文档:
官方文档:安装
注意:更换镜像源站为阿里云

在这里插入图片描述

# 1.docker 启动
sudo service docker start
--------或者
systemctl start docker

# 2.docker run 
[root@dixinkk /]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
Digest: sha256:80f31da1ac7b312ba29d65080fddf797dd76acfb870e677f390d5acba9741b17
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/
------
证明安装成功

# 3.查看 hello world 镜像 -- docker images
[root@dixinkk /]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    feb5d9fea6a5   8 months ago   13.3kB

卸载 docker
1.卸载依赖
2.删除资源

# /var/lib/docker docker 的默认工作路径

在这里插入图片描述

2.3 阿里云镜像加速

在这里插入图片描述

在这里插入图片描述
配置使用

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://wt18sp0p.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload

sudo systemctl restart docker
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker入门(安装、换阿里源及配置阿里云镜像加速) 的相关文章

  • 如何自定义BlockingQueue的阻塞行为

    我想创建一个阻塞队列 它根据自定义规则而不是队列中的项目数量来阻止生产者 例如 生产者生成一些文件并放入队列中 消费者经过一番分析后将它们转移到特定位置 对于上述场景 如果队列中的总文件大小达到某个阈值 我希望生产者等待生成新文件 如果总大
  • 在 Kotlin 中实现返回 Collection 的 Java 方法

    我将 Kotlin 与 Spring Security 结合使用 实现该方法时 public interface UserDetails extends Serializable Collection
  • 如何在Spring的applicationContext.xml中指定默认范围来请求范围?

    我想让所有 bean 请求默认作用域 但是 Spring 文档说默认作用域是 Singleton 第 3 4 1 和 3 4 2 节http static springsource org spring docs 2 5 x referen
  • 方法不必要地被调用?

    我有一个 BaseActivity 它可以通过其他所有活动进行扩展 问题是 每当用户离开 暂停 活动时 我都会将音乐静音 我也不再接听电话 问题是 onPause每当用户在活动之间切换时就会被调用 这意味着应用程序不必要地静音和停止tele
  • 在气球内显示带有照片的多个地标的最佳做法是什么?

    我有一个项目如下 从手机上拍摄几张照片 将照片保存在网络系统中 然后将照片显示在其中的谷歌地球上 我读过很多文章 但它们都使用 fetchKml 我读过的一篇好文章是使用 php 但使用 fetchKml 我不知道是否可以使用 parseK
  • 如何正确配置Tomcat SSLHostConfig?

    我正在按照本教程在 tomcat 中启用 ssl https medium com raupach how to install lets encrypt with tomcat 3db8a469e3d2 https medium com
  • Java:检查给定日期是否在当前月份内

    我需要检查给定的日期是否在当前月份 我编写了以下代码 但 IDE 提醒我getMonth https docs oracle com javase 7 docs api java util Date html getMonth and ge
  • 如何在具有动态列的表中插入值 Jdbc/Mysql

    我想在具有动态列的表中添加值 我设法创建一个包含动态列的表 但我不知道如何插入数据 Create Table sql CREATE TABLE MyDB myTable level INTEGER 255 int columnNumber
  • 无法从后台服务通过 WiFi 访问互联网

    我将直接介绍我发现的一些事实 数据 如果您遇到 解决了类似的问题 请帮助我 我每 5 分钟向服务器发送一次数据 除非用户在服务器的帮助下手动将其关闭 wakeful broadcast receiver通过一个intent service
  • 我们可以在三元运算符(Java)中使用命令吗?

    这是一个工作代码 String a first String b second String object System out println object null a b 但它不是 String a first String b se
  • Docker 日志中的 Python 异常标记为流:stdout

    我想解析和处理来自 docker 容器的所有错误 但当我期望 stderr 时 Python 异常标记为 stdout 举个简单的例子app py raise Exception 然后我在 docker 容器中运行这个文件 但在 var l
  • 为什么在尝试使用 Java 连接到 RDS PostgreSQL 数据库时会收到 SocketTimeoutException?

    我有一个 Spring 应用程序 我试图在 AWS 上托管 几天来我一直在努力配置 我有一个 EC2 实例 并且能够通过 SSH 连接到它 我还在 AWS 中设置了 Postgres RDS 数据库 但我无法使用 IDE 中的代码连接到它
  • java中的比较器链

    正在阅读Oracle 关于接口的 Java 教程 https docs oracle com javase tutorial java IandI createinterface html其中给出了一个例子Card 打牌 我试图理解接口中的
  • 将字符串中的字符向左移动

    我是 Stack Overflow 的新手 有一道编程课的实验室问题一直困扰着我 该问题要求我们将字符串 s 的元素向左移动 k 次 例如 如果输入是 Hello World 和3 它将输出 lo WorldHel 对于非常大的 k 值 它
  • 防止 Firebase 中的待处理写入事务不起作用

    我的目标是在单击按钮时将名称插入 Cloud Firestore 中 但如果用户未连接到互联网 我不希望保存处于挂起状态 我不喜欢 Firebase 保存待处理写入的行为 即使互联网连接已恢复 我研究发现Firebase 开发人员建议使用事
  • JDK 7 的快速调试/调试构建

    我正在寻找 JDK 的调试 或者我猜他们称之为快速调试构建 以启用在运行时生成的打印程序集以及查找性能问题时所需的其他诊断 就目前情况而言 我似乎找不到可以直接使用的 现成的 快速调试构建二进制包 有人可以帮我提供下载链接 或者至少提供有关
  • Java泛型类型

    当我有一个界面时 public interface Foo
  • 监控 Java 应用程序上的锁争用

    我正在尝试创建一个小基准 在 Groovy 中 以显示几个同步方法上的高线程争用 当监控自愿上下文切换时 应该会出现高争用 在 Linux 中 这可以通过 pidstat 来实现 程序如下 class Res private int n s
  • Java 9 中紧凑字符串和压缩字符串的区别

    有什么优点紧凑的字符串 http openjdk java net jeps 254JDK9 中的压缩字符串 压缩字符串 Java 6 和紧凑字符串 Java 9 都有相同的动机 字符串通常实际上是 Latin 1 因此浪费了一半的空间 和
  • 将隐藏(生物识别)数据附加到 pdf 上的数字签名

    我想知道是否可以使用 iText 我用于签名 或 Java 中的其他工具在 pdf 上添加生物识别数据 我会更好地解释一下 在手写板上签名时 我会收集签名信息 例如笔压 签名速度等 我想将这些信息 java中的变量 与pdf上的签名一起存储

随机推荐

  • el-input使用clearable,:title,MessageBox弹框外部关闭,el-Dropdown 下拉菜单详细举例,el-table的show-overflow-tooltip是什么?

    近期在工作中改测试提出的一些bug 有时候同样一个bug却忘了上一次怎么改的 特此总结分享 1 关于el input使用clearable属性即可得到一个可清空的输入框 2 由于clearable属性引发的一个小bug 如例图 蓝色部分后面
  • OpenCV:判断读取图片是否成功

    摘要 当用imread 读取图片时 如果图片路径错了 或者图片名称 又或者后缀格式错误 程序都会报错 基于这个问题 有时候我们不知道是读取图片失败而报错 会误以为是其它行代码出错了 所以 经常读取图片后 会进行判断图片是否读取成功 如果读出
  • iOS-对于把图片渲染成蓝色的修改方法

    在之前开发的过程中 遇到过这样一个小问题 给button设置一张图片 图片是灰色 美工做的图肯定没有问题 给button设置图片的方法也很简单 一句代码搞定 但是运行的时候却发现 图片无缘无故变成了蓝色 后来自己研究了一下发现 在给一些控件
  • cuDNN下载

    cuDNN下载网址 https developer nvidia com rdp cudnn download 按顺序点击可以看到与cuda相对应版本 点击对应cuda版本的cuDNN下载 例如CUDA11 4对应的版本
  • C语言入门初识(中)

    C语言入门初识 中 常量 常量的分类 1 字面常量 2 const修饰的常变量 3 define 定义的标识符常量 4 枚举常量 字符串 转义字符 注释 字符串 C常用格式转换说明符 转义字符 注释 选择语句与循环语句 选择语句 循环语句
  • 第四次作业

    作业要求 https edu cnblogs com campus hljkj CS201801 homework 2523 预习 1 数组视频全看了 2 学到了一维数组和二维数组 如何定义使用数组 3 数组的排序 不能熟练使用二维数组 只
  • 微信小程序 七天签到组件

    组件效果 组件gitee地址 https gitee com liu bao yi sign in 使用 1 将dk calendar文件夹放进components文件夹内 2 页面json文件引入该组件 usingComponents d
  • 【深入理解Kafka系列】第五章 日志存储

    前几章已经讲解了kafka的基本知识 我们已经能较好的用kafka来完成基本的开发任务 接下来了解一下内部的一些细节 便于知道相关的原理 本章主要讲kafka日志存储相关的知识 1 文件目录布局 回顾之前所学的知识 Kafka 中的消息是以
  • 在ESP32/ESP8266上使用MicroPython利用MQTT发布BME280传感器数据(温度,湿度和压力)

    了解如何使用MicroPython对ESP32或ESP8266板进行编程 以通过MQTT将BME280传感器读数 温度 湿度和压力 发布到支持MQTT或任何MQTT客户端的任何平台 例如 我们将传感器读数发布到Node RED仪表板 注意
  • 神州交换机路由器AC和AP基本配置

    交换机部分 两层和三层交换机清除所有配置的命令 Set default 清除配置 Write 保存 Reload 重启 交换机打开网站管理 http 两层 config ip http server config Web user xxx
  • 51单片机 LCD1602

    LCD1602 H ifndef LCD1602 H define LCD1602 H 用户调用函数 void LCD Init void LCD ShowChar unsigned char Line unsigned char Colu
  • 【解决方案】PicGo图片上传失败问题【少走弯路】

    解决方案 PicGo图片上传失败问题 少走弯路 1 检查Server设置 选择PicGo设置 选择设置Server 确认设置监听端口为 36677 如果没有问题的话可以尝试关闭 退出APP 再开启Server 未能解决再继续操作 2 检查阿
  • Android:手把手带你了解实用的Android Jetpack

    转自 https blog csdn net carson ho article details 104243841 前言 在2018年 Google I O 大会上发布了一系列辅助Android开发者开发的实用工具集合 Jetpack 今
  • Unity制作简单动画效果

    需求 制作一段门旋转的动画 效果如下 解决办法 1 在Unity中点击Window gt Animation gt Animation 调出Animation面板 如下 2 为了让门的轴心在门边上以便于制作门绕门边旋转的效果 需要先新建一个
  • Rust交叉编译开发环境的搭建

    为嵌入式开发引入新的编程语言 对于嵌入式系统软件和应用软件的开发而言 编程语言的重要性次于整体的软件架构设计的重要性 不过仍有必要谨慎地选择编程语言 因为这涉及开发效率 软件性能 以及团队成员的技术能力 譬如 若整个嵌入式软件的绝大数组件是
  • 蓝桥杯 分数统计---递归

    题目 1500 蓝桥杯 算法提高VIP 分数统计 时间限制 1Sec 内存限制 128MB 提交 1541 解决 727 题目描述 给定一个百分制成绩T 将其划分为如下五个等级之一 90100为A 8089为B 7079为C 6069为D
  • Spring MVC参数的传递与接收

    SpringMVC主要做的就两方面的操作 在Controller接收从jsp传递过来的数据 把Controller的数据传递到jsp页面 将Controller里边的数据传到jsp 其返回值有三种类型 ModelAndView void S
  • Swift3.0学习之CollectionView的简单使用

    1 设置layout let layout UICollectionViewFlowLayout layout itemSize CGSize width 60 height 80 设置item尺寸 layout minimumLineSp
  • Python学习笔记(零)————Python简介及基础

    目录 1 查看 Python 版本 2 脚本文件 3 Python3 简介 4 Python 发展历史 5 Python 特点 6 Python 应用 7 Python环境搭建 1 查看 Python 版本 我们可以在命令窗口 Window
  • Docker入门(安装、换阿里源及配置阿里云镜像加速)

    文章目录 一 Docker 概述 1 1 Docker 为什么出现 1 2 Docker 的历史 1 3 聊聊 Docker 1 4 Docker 能干嘛 二 Docker 安装 2 1 Docker 的基本组成 2 2 安装 Docker