内网
文件目录结构如下

docker文件夹:docker解压后的安装包
daemon.json:docker容器全局配置文件,内容根据自己需求定,我的是限制日志大小,内容如下
{
"registry-mirrors": ["https://kksxo8ii.mirror.aliyuncs.com"],
"log-driver":"json-file",
"log-opts":{"max-size":"100m"}
}
docker.service:docker服务配置文件,内容如下
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
docker-compose:docker-compose 安装包,选择自己需要的版本,下载地址如下:
docker-compose下载
init.sh:安装脚本,内容如下
#!/bin/sh
# shellcheck disable=SC2039
echo -e "安装docker \n================================\n"
cp -rf docker/* /usr/bin/
mkdir -p /etc/docker
\cp -rf daemon.json /etc/docker
echo -e "授权docker安装包 \n================================\n"
Folder_A="docker"
for file_a in ${Folder_A}/*;
do
temp_file=$(basename $file_a)
chmod u+x /usr/bin/$temp_file
done
echo -e "安装服务 \n================================\n"
cp -rf docker.service /etc/systemd/system/
chmod u+x /etc/systemd/system/docker.service
echo -e "启动服务 \n================================\n"
systemctl daemon-reload
systemctl start docker
systemctl enable docker.service
echo -e "docker 版本 \n================================\n"
docker version
echo -e "启动docker \n================================\n"
systemctl start docker
echo -e "设置开机启动docker \n================================\n"
systemctl enable docker
echo -e "安装docker-compose \n================================\n"
cp -rf docker-compose /usr/local/bin/
chmod u+x /usr/local/bin/docker-compose
echo -e "docker-compose 版本 \n================================\n"
docker-compose version
授权shell脚本
chmod u+x init.sh
执行脚本
sh init.sh
等待安装完毕
外网
文件目录结构如下

daemon.json:docker容器全局配置文件,内容根据自己需求定,我的是限制日志大小,内容如下
{
"registry-mirrors": ["https://kksxo8ii.mirror.aliyuncs.com"],
"log-driver":"json-file",
"log-opts":{"max-size":"100m"}
}
docker-compose:docker-compose 安装包,选择自己需要的版本,下载地址如下:
docker-compose下载
init.sh:安装脚本,内容如下
#!/bin/sh
# shellcheck disable=SC2039
yum install -y yum-utils device-mapper-persistent-data lvm2
echo -e "配置docker的yum数据源 \n================================\n"
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
echo -e "清空yum缓存 \n================================\n"
yum clean all
echo -e "更新缓存 \n================================\n"
yum makecache fast
echo -e "下载安装docker \n================================\n"
yum -y install docker-ce
mkdir -p /etc/docker
\cp -Rf daemon.json /etc/docker
echo -e "docker 版本 \n================================\n"
docker version
echo -e "启动docker \n================================\n"
systemctl start docker
echo -e "设置开机启动docker \n================================\n"
systemctl enable docker
cp docker-compose /usr/local/bin/docker-compose
chmod u+x /usr/local/bin/docker-compose
echo -e "docker-compose 版本 \n================================\n"
docker-compose version
授权shell脚本
chmod u+x init.sh
执行脚本
sh init.sh
等待安装完毕
该文章提供了一套内外网环境下的Docker和Docker-Compose的一键安装脚本。脚本包括了Docker的配置文件设置,如限制日志大小,以及服务配置,然后通过脚本进行复制、授权、安装和服务启动等步骤。对于外网环境,文章详细说明了使用阿里云镜像源进行Docker的yum安装过程。
1765

被折叠的 条评论
为什么被折叠?



