【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,自己实操过暂时没有问题

希望有大神可以迷津指点


相关文章
|
19天前
|
JavaScript 算法 前端开发
【Docker项目实战】使用Docker部署paopao-ce微社区
【Docker项目实战】使用Docker部署paopao-ce微社区
175 84
【Docker项目实战】使用Docker部署paopao-ce微社区
|
29天前
|
运维 Cloud Native 开发者
Docker:现代化应用开发与部署的神器
Docker:现代化应用开发与部署的神器
176 101
|
11天前
|
存储 Docker Python
docker 部署 sftp
本文介绍SFTP服务的部署与配置,包括users.conf用户配置规则、Docker容器运行命令及上传目录权限说明,重点解析atmoz/sftp镜像的chroot机制与子目录映射,确保用户登录后正确访问/upload目录,并提供Python脚本实现文件上传示例。
55 12
docker 部署 sftp
|
8天前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
67 3
docker 安装 Postgres 17.6
|
12天前
|
运维 Linux 数据库
基于 Docker 部署 n8n 指南,新手一看就会
本教程详解如何通过 Docker 快速部署开源自动化工具 n8n,适合新手快速上手。内容涵盖官方部署步骤、常见难点及第三方一键部署方案,助你高效搭建自动化工作流平台。
242 6
|
18天前
|
前端开发 JavaScript 应用服务中间件
在Docker部署的前端应用中使用动态环境变量
以上步骤展示了如何在 Docker 配置过程中处理并注入环墨遁形成可执行操作流程,并确保最终用户能够无缝地与之交互而无须关心背后复杂性。
67 13
|
22天前
|
存储 Kubernetes 持续交付
为什么Docker容器化改变了开发与部署?
为什么Docker容器化改变了开发与部署?
|
2月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
261 57
|
3月前
|
存储 运维 安全
Docker化运维:容器部署的实践指南
Docker化运维:容器部署的实践指南