2.云原生之Docker容器环境安装实践
转载自:https://www.bilibili.com/read/cv15181036/?from=readlist


官方一键安装脚本
补充时间:[2020年4月22日 11:00:59]
一键安装Docker-ce以及Docker-compose:
##[docker]
#国外
curl -fsSL https://get.docker.com | bash -s docker
#国内
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
curl -fsSL https://get.docker.com -o get-docker.sh && chmod +x get-docker.sh && ./get-docker.sh
#测试安装结果
docker-info
##[docker-compose]
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
#测试安装结果
docker-compose version
温馨提示: 目前最新的Docker版本为 (20.10.12)默认使用overlay2 作为存储驱动,对于已支持该驱动的 Linux 发行版,不需要任何进行任何额外的配置,可使用lsmod | grep "overlay"命令查看当前系统内核是否支持 overlay2 ,另外需要非常注意devicemapper 存储驱动已经在 docker 18.09 版本中被废弃,所以在后续的安Docker装中无需安装devicemapper支持。
CentOS 中利用 yum 安装 Docker / Docker-compose
# (1) 卸载机器上docker或者docker-engine旧版本以及相关的依赖项
yum remove -y docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# (2) 在新主机上首次安装 Docker Engine 之前,您需要 设置 Docker 稳定的存储库。
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 或者手动设置官方源
# sudo tee /etc/yum.repos.d/docker.repo <<-'EOF'
# [dockerrepo]
# name=Docker Repository
# baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
# enabled=1
# gpgcheck=1
# gpgkey=https://yum.dockerproject.org/gpg
# EOF
# 安装最新版本的 Docker Engine 和 containerd
# Docker Community Edition (CE) 对于希望开始使用Docker并尝试基于容器的应用程序的开发人员和小型团队来说非常理想。
# 如果提示接受 GPG 密钥,请验证指纹是否匹配 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果是,接受它。
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose
# 安装特定版本的 Docker Engine,请在列出可用版本中选择并安装,
# 即 包名( docker-ce) 加上版本字符串(第二列) 从第一个冒号 ( :),直到第一个连字符,由 一个连字符 ( -)。 例如 docker-ce-18.09.1.
yum list docker-ce --showduplicates | sort -r
# docker-ce.x86_64 3:18.09.5-3.el7 docker-ce-stable
# docker-ce.x86_64 3:18.09.5-3.el7 @docker-ce-stable #当前使用版本
# docker-ce.x86_64 3:19.03.15-3.el7 docker-ce-stable
# docker-ce.x86_64 3:19.03.14-3.el7 docker-ce-stable
sudo yum install -y docker-ce-19.03.15 docker-ce-cli-19.03.15 containerd.io docker-compose
# 更新docker-ceDocker CE有三种更新通道是稳定通道、测试通道和夜间通道
yum -y upgrade docker-ce
# Docker 是一个 C/S 架构的服务,安装好 docker 之后需要启动 docker 软件后才能使用 docker 命令;
systemctl start/status docker # 启动docker-ce
# 查看docker启动状态
docker version
Client:
Version: 18.09.5
API version: 1.39
Go version: go1.10.8
Git commit: e8ff056
Built: Thu Apr 11 04:43:34 2019
OS/Arch: linux/amd64
# 移出docker-ce
$ sudo yum remove docker-ce
#主机上的映像、容器、卷或自定义配置文件不会自动删除。删除所有图像、容器和卷:
$ sudo rm -rf /var/lib/docker
# 通过运行以下命令拉取并运行hello-world镜像验证 Docker Engine 是否已正确安装
docker pull hello-world
docker images
docker run hello-world
Ubuntu 中利用 apt 安装 Docker / Docker-compose
Ubuntu安装Docker参考: https://docs.docker.com/install/linux/docker-ce/ubuntu/
# 1.卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
# 2.更新apt包索引并安装包以允许apt在HTTPS上使用存储库
sudo apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
# 3.添加Docker官方GPG密钥 # -fsSL
sudo curl https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 4.通过搜索指纹的最后8个字符进行密钥验证
sudo apt-key fingerprint 0EBFCD88
# 5.设置稳定存储库
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
# 6.Install Docker Engine 默认最新版本
sudo apt-get update && sudo apt-get install -y docker-ce=5:20.10.7~3-0~ubuntu-focal docker-ce-cli=5:20.10.7~3-0~ubuntu-focal containerd.io docker-compose
# - 强制IPv4
# sudo apt-get -o Acquire::ForceIPv4=true install -y docker-ce=5:19.03.15~3-0~ubuntu-focal docker-ce-cli=5:19.03.15~3-0~ubuntu-focal containerd.io docker-compose
# 7.安装特定版本的Docker引擎,请在repo中列出可用的版本
apt-cache madison docker-ce
# docker-ce | 5:20.10.6~3-0~ubuntu-focal| https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
# docker-ce | 5:19.03.15~3-0~ubuntu-focal | https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
# 使用第二列中的版本字符串安装特定的版本,例如:5:18.09.1~3-0~ubuntu-xenial。
# $sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
#8.将当前用户加入docker用户组然后重新登陆当前用户使得低权限用户
sudo gpasswd -a ${USER} docker
# sudo gpasswd -a weiyigeek docker
#9.加速器建立
mkdir -vp /etc/docker/
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"data-root":"/var/lib/docker",
"registry-mirrors": ["https://xlx9erfu.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"storage-driver": "overlay2",
"log-driver": "json-file",
"log-level": "warn",
"log-opts": {
"max-size": "100m",
"max-file": "10"
},
"live-restore": true,
"dns": ["8.8.8.8","223.6.6.6"],
"insecure-registries": ["harbor.weiyigeek.top"]
}
EOF
# 9.自启与启动
sudo systemctl daemon-reload
sudo systemctl enable docker
sudo systemctl restart docker
docker-compose的安装补充时间:[2020年1月22日 10:54:55],可能随着时间推移最新版本与下述版本不同,请按照下面方式安装最新的docker-compose版本即可。
方式1:安装 docker-compose: [需要安装大于或者等于1.6版本的 Docker ]
https://docs.docker.com/compose/ -> 选择InstallCompose
#安装docker-compose
#切换为root权限下载并安装docker-compose ( current stable release (v1.25.0) )
$ curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" > /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
方式2:安装Docker-Compose
#在centos7中使用python-pip安装docker-compose
$yum install -y python3
$pip3 install pip --upgrade
[root@vm-1575613390 ~]# pip --version
pip 19.3.1 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)
$pip3 install docker-compose
目前最新版本的 docker 默认优先采用 overlay2 的存储驱动,对于已支持该驱动的 Linux 发行版,不需要任何进行任何额外的配置



解决上述问题后, 执行如下命令验证安装:
docker pull hello-world
docker images
docker run hello-world




# 1.查看系统中的VM,如果没有开启过就是false状态。
Get-VM
Get-VMProcessor -VMName Server2019 | fl
# 2.显示未True就是已经开启嵌套虚拟化了,但是这个功能只针对Hyper-V虚拟机,所以,为什么要装虚拟机到Hyper-V中
Set-VMProcessor -ExposeVirtualizationExtensions $true -VMName Server2019
例如: 利用Docker Desktop部署我的blog主页
PS C:\> mkdir github; cd .\github\
PS C:\github> Invoke-WebRequest -Uri https://github.com/WeiyiGeek/WeiyiGeek/archive/refs/heads/master.zip -OutFile blog.zip
PS C:\github> Expand-Archive -Path .\blog.zip -DestinationPath .
PS C:\github> mv .\WeiyiGeek-master\ blog



# 方式1
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
# 方式2
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["http://f1361db2.m.daocloud.io"]
}
EOF
方式2:使用阿里云容器镜像服务加速器
推荐安装1.10.0以上版本的Docker客户端,您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器:
#方法1.常规加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xlx9erfu.mirror.aliyuncs.com"]
}
EOF
#方法2:对于 1.12 以前的版本, dockerd 换成 docker daemon
#注:编辑docker.service文件
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --registry-mirrors=https://xlx9erfu.mirror.aliyuncs.com
#方法3:Docker-CE17.12版本以及之后(CentOS7.0)
vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --registry-mirror=https://xlx9erfu.mirror.aliyuncs.com
#通用启动
sudo systemctl daemon-reload #重载守护
sudo systemctl restart docker
#检查加速器是否生效
sudo ps -ef | grep dockerd
root 5346 1 0 19:03 ? 00:00:00 /usr/bin/dockerd --registry-mirror=https://jxus37ad.mirror.aliyuncs.com

补充一键配置:
# Docker中国 mirror
# export REGISTRY_MIRROR="https://registry.docker-cn.com"
# 腾讯云 docker hub mirror
# export REGISTRY_MIRROR="https://mirror.ccs.tencentyun.com"
# 华为云镜像
# export REGISTRY_MIRROR="https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com"
# DaoCloud 镜像
# export REGISTRY_MIRROR="http://f1361db2.m.daocloud.io"
# 阿里云 docker hub mirror
# export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com
export REGISTRY_MIRROR=https://xlx9erfu.mirror.aliyuncs.com
curl -sSL https://kuboard.cn/install-script/set_mirror.sh | sh -s ${REGISTRY_MIRROR}
2.云原生之Docker容器环境安装实践的更多相关文章
- 8.云原生之Docker容器镜像构建最佳实践浅析
转载自:https://www.bilibili.com/read/cv15220861/?from=readlist 本章目录 0x02 Docker 镜像构建最佳实践浅析 1.Dockerfile ...
- 5.云原生之Docker容器网络介绍与实践
转载自:https://www.bilibili.com/read/cv15185166/?from=readlist 例如, 当在一台未经过特殊网络配置的centos 或 ubuntu机器上安装完d ...
- 7.云原生之Docker容器Dockerfile镜像构建浅析与实践
转载自:https://www.bilibili.com/read/cv15220707/?from=readlist Dockerfile 镜像构建浅析与实践 描述:Dockerfile是一个文本格 ...
- 6.云原生之Docker容器Registry私有镜像仓库搭建实践
转载自:https://www.bilibili.com/read/cv15219863/?from=readlist #1.下载registry仓库并设置数据存放的目录(并生成认证账号密码) doc ...
- 4.云原生之Docker容器数据持久化介绍与实践
转载自:https://www.bilibili.com/read/cv15182308/?from=readlist #### 创建一个web容器并创建一个数据卷挂载到容器的/webapp目录下(默 ...
- 3.云原生之Docker容器三大核心概念介绍
转载自:https://www.bilibili.com/read/cv15181760/?from=readlist docker search --no-trunc=false [镜像名称] #搜 ...
- 1.云原生之Docker容器技术基础知识介绍
转载自:https://www.bilibili.com/read/cv15180540/?from=readlist
- Centos7环境下Docker容器的安装与卸载
Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal. ...
- 每周荐书:云原生、Docker、Web算法(评论送书)
每周荐书:云原生.Docker.Web算法(评论送书) 感谢大家对每周荐书栏目的支持,先公布下上周中奖名单 名优秀评论可以免费获得此书. 云原生应用架构实践 云原生架构,关注简化开发流程.提升研发 ...
随机推荐
- 基于后端和爬虫创建的代理ip池
搭建免费的代理ip池 需要解决的问题: 使用什么方式存储ip 文件存储 缺点: 打开文件修改文件操作较麻烦 mysql 缺点: 查询速度较慢 mongodb 缺点: 查询速度较慢. 没有查重功能 re ...
- Ubuntu 隐藏所有窗口快捷键不生效问题
在绑定界面卡住时,切换到一个tty窗口,再切回来 gsettings reset-recursively org.gnome.settings-daemon.plugins.media-keys gs ...
- 创建私有CA,我就用openSSL
目录 简介 搭建root CA 生成root CA 使用CRL 使用OSCP 总结 简介 一般情况下我们使用的证书都是由第三方权威机构来颁发的,如果我们有一个新的https网站,我们需要申请一个世界范 ...
- 分支结构_嵌套if的使用
嵌套if 语法结构: if 条件表达式1: if 内层条件表达式: 内层条件执行体1 else: 内存条件执行体2 else: 条件执行体 外层条件+内层条件的形式 example:#模拟打折的程序如 ...
- 初学者入门:使用WordPress搭建一个专属自己的博客
体验简介 阿里云云起实验室提供相关实验资源,点击前往 场景将提供一台基础环境为CentOS 的ECS(云服务器)实例,这台服务器上已经内置LAMP环境.我们将会在这台服务器上安装 WordPress ...
- Dubbo源码(五) - 服务目录
前言 本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo 今天,来聊聊Dubbo的服务目录(Directory).下面是官方文档对服务目录的定义: 服务目 ...
- win10系统下把玩折腾DockerToolBox以及更换国内镜像源(各种神坑)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_149 2020年,这年头如果出去面试和面试官不聊几句Docker,都不好意思说自己是搞开发的.之前玩儿Docker都是在Mac系统 ...
- Vue el与data的两种写法 && Object.defineProperty方法
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...
- ShadeRec类定义
这个类主要是用于记录碰撞数据的类,书中已经说的很清楚了.这个类之后会慢慢扩展,会在本随笔中扩展,先定义简单的,方便编译看看效果. 类声明(World是之后主程序中的类,最后测试时再实现): #ifnd ...
- Apache DolphinScheduler 3.0.0 正式版发布!
点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler 版本发布 2022/8/10 2022 年 8 ...