【Docker系列】如何部署Docker并进行小优化(内含一键安装脚本)

简介: 【Docker系列】如何部署Docker并进行小优化(内含一键安装脚本)

一、docker安装步骤详解


docker初期版本是1.13(同一版本,开源)——>分类型 1.15 - 1.17 过程中分成两种。


①开源社区 docker-ce


②企业版 docker-ee

今天我们学习安装的是开源版


以下是整体操作


目前 Docker 只能支持 64 位系统。
1.#关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
2.#安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2 
--------------------------------------------------------------------------------
#yum-utils:提供了 yum-config-manager 工具。
#device mapper: 是Linux内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。
#device mapper存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
--------------------------------------------------------------------------------
3.#设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
4.#安装 Docker-CE 社区版并设置为开机自动启动
yum install -y docker-ce
systemctl start docker.service
systemctl enable docker.service 
5.#查看 docker 版本信息
docker version


1.1关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
## 关闭防火墙和增强机制


1.2安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2 
--------------------------------------------------------------------------------
#yum-utils:提供了 yum-config-manager 工具。
#device mapper: 是Linux内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。
#device mapper存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
--------------------------------------------------------------------------------

1.3设置阿里云镜像源

cd /etc/ yum.repos.d/ ##切换路径到yum源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
## 添加安装路径


1.4安装 Docker-CE并设置为开机自动启动

yum install -y docker-ce
 ##安装社区版
systemctl start docker.service
systemctl enable docker.service
##开启Docker服务并设置开机自启




1.5查看 docker 版本信息

docker version

二、设置镜像加速(优化)

可以设也可以不设到这里基本上Docker就已经安装完毕了

申请加速器地址


这里我们使用阿里云的镜像,加速镜像下载速度

注册阿里云账号并登录










三、网络优化

vim /etc/sysctl.conf
net.ipv4.ip_forward=1  #开启路由转发
sysctl -p   #刷新
systemctl restart network ##重启网卡
systemctl restart docker ##重启docker

为什么要开启路由转发功能?


开启路由转发 是让docker0能根据虚拟机ip为自己所有的docker容器分配虚拟ip



四、docker-server端配置文件建议配置

#在daemon. json文件中配置
{
  "graph":"/data/docker",   #数据目录,数据存储位置
  "storage-driver":"overlay2",  #存储引擎,docker1.18以上版本默认使用overlay2存储引擎。早期的适合存储引擎使用的aufs
  "insecure-registries":["registry.access.redhat.com","quary.io"],  #私有仓库
  #"registry-mirrors": [ "https:/lq" ]  #镜像加速,在这个下面添加
  "bip":"172.137.20.1/24",    #docker网络
  "exec-opts":["native.cgroupdriver=systemd"],  #启动时的额外参数,(是一种挂载驱动,k8s使用)
  "live-restore":true #当docker容器引擎挂掉的时候,使用docker跑起来的容器还能继续运行
}
以上是建议的配置项
docker的网络建议和宿主机的IP"对照"
比如宿主机10.2.5.6 容器的地址就可以修改为172.5.6.1,这样方便在故障发生时,更容易定位故障节点的位置
systemctl daemon-reload  #重载守护进程
systemctl restart docker #重载引擎
{
  "graph":"/data/docker",
  "storage-driver":"overlay2",
  "insecure-registries":["registry.access.redhat.com","quary.io"],
  "bip":"172.137.20.1/24",
  "exec-opts":["native.cgroupdriver=systemd"],
  "live-restore":true
}
systemctl daemon-reload
systemctl restart docker


五、总结

本章主要是学习如何安装docker以及进行一些简单的优化


六、 一键安装 docker 的 shell 脚本 _

6.1创建 shell 脚本

touch install_docker.sh

chmod 777 install_docker.sh


6.2一键安装 docker 的 shell 脚本

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
echo -e " =========== 1.delete exist docker ================\n\n"
echo -e "step 1: 安装必要的一些系统工具"
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
echo -e "\n\nStep 2: 添加软件源信息,国内 Repository 更加稳定"
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
version=sudo cat /etc/redhat-release|sed -r 's/.* ([0-9]+)\..*/\1/'
if $version=7; then
        echo  -e "\n\nStep 3: 更新 Centos version is : $version; run yum makecache fast"
        sudo yum makecache fast
elif $version=8; then
        echo -e "\n\nStep 3: 更新Centos version is : $version; run yum makecache fast"
        sudo dnf makecache
fi
echo -e "=========== 2.完成配置 docker Repository ================\n\n"
# 安装最新版本的 Docker Engine 和 Container
sudo yum install docker-ce docker-ce-cli containerd.io
sudo yum -y install docker-ce
echo -e "=========== 3.成功安装完 docker ================\n\n"
sudo systemctl enable docker
sudo systemctl start docker
echo -e "=========== 4.自启动 docker ================\n\n"
# 1.创建一个目录
sudo mkdir -p /etc/docker
# 2.编写配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://reg-mirror.qiniu.com",
    "http://f1361db2.m.daocloud.io"
  ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
echo -e "=========== 5.配置国内镜像加速 ================\n\n"
docker ps -a



现在常用 centos 7、8,所以仅适配这两个系统安装 docker,自己实操过暂时没有问题

希望有大神可以迷津指点


相关文章
kde
|
1月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
kde
709 4
|
1月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
109 5
kde
|
1月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
kde
627 7
|
1月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
333 5
|
1月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
328 2
kde
|
1月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
kde
406 4
|
运维 Java Devops
阿里云云效操作报错合集之部署docker时遇到报错,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
运维 Kubernetes 前端开发
【云原生】阿里云服务器部署 Docker Swarm集群
阿里云服务器 一键部署 Docker Swarm 集群!
957 0
【云原生】阿里云服务器部署 Docker Swarm集群
|
弹性计算 数据可视化 关系型数据库
使用阿里云部署基于docker的mysql云服务
本篇文章将介绍如何使用阿里云安装docker、部署mysql服务,并远程连接至远端mysql
933 1
使用阿里云部署基于docker的mysql云服务
下一篇
oss云网关配置