主机配置
- 主机名要能被解析, 考虑使用内网 DNS,并保证
IP 稳定
- CentOS 关闭 selinux ,ubuntu 不用
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
- 关闭防火墙
- centos
systemctl stop firewalld.service && systemctl disable firewalld.service
- ubuntu
ufw disable
- centos
- 配置时区 语言 时间
- 时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- 语言
sudo echo 'LANG="en_US.UTF-8"' >> /etc/profile;source /etc/profile
- NTP 时间同步
sudo apt install ntpdate && sudo ntpdate ntp.sjtu.edu.cn
- 时区
- 性能优化
cat >> /etc/sysctl.conf<
- 文件打开数
cat >> /etc/security/limits.conf <
Docker 安装
-
Ubuntu 16.x
-
修改系统源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak cat > /etc/apt/sources.list << EOF deb http://mirrors.aliyun.com/ubuntu/ xenial main deb-src http://mirrors.aliyun.com/ubuntu/ xenial main deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main deb http://mirrors.aliyun.com/ubuntu/ xenial universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe deb http://mirrors.aliyun.com/ubuntu/ xenial-security main deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe EOF
-
安装 docker-ce
Docker 18.06.x 以上
export docker_version=18.06.3 # step 1: 安装必要的一些系统工具 sudo apt-get update sudo apt-get -y install apt-transport-https ca-certificates \ curl software-properties-common bash-completion gnupg-agent # step 2: 安装GPG证书 sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | \ sudo apt-key add - # Step 3: 写入软件源信息 sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(lsb_release -cs) stable" # Step 4: 更新并安装 Docker-CE sudo apt-get -y update version=$(apt-cache madison docker-ce|grep ${docker_version}|awk '{print $3}') sudo apt-get -y install docker-ce=${version} # 设置开机启动 sudo systemctl start docker sudo systemctl enable docker
-
Docker 配置
对于通过systemd来管理服务的系统(比如CentOS7.X、Ubuntu16.X), Docker有两处可以配置参数: 一个是docker.service服务配置文件,一个是Docker daemon配置文件daemon.json。1. docker.service 对于CentOS系统,docker.service默认位于/usr/lib/systemd/system/docker.service;对于Ubuntu系 统,docker.service默认位于/lib/systemd/system/docker.service 2. daemon.json daemon.json默认位于/etc/docker/daemon.json,如果没有可手动创建,基于systemd管理的系统都是相同的路径。通过修改daemon.json来改过Docker配置,也是Docker官方推荐的方法。
-
配置镜像上传和下载并发数
从Docker1.12开始,支持自定义下载和上传镜像的并发数,默认值上传为3个并发,下载为5个并发。通过添加”max-concurrent-downloads”和”max-concurrent-uploads”参数对其修改{ "max-concurrent-downloads": 3, "max-concurrent-uploads": 5 }
-
配置镜像加速
{ "registry-mirrors": ["https://7bezldxe.mirror.aliyuncs.com"], "insecure-registries": ["https://git.5th.im"], }
-
配置 Docker 驱动
OverlayFS是一个新一代的联合文件系统,类似于AUFS,但速度更快,实现更简单。Docker为OverlayFS提供了两个存储驱动程序:旧版的overlay
,新版的overlay2
(更稳定)。先决条件:
-
overlay2
: Linux内核版本4.0或更高版本,或使用内核版本3.10.0-514+的RHEL或CentOS。 -
overlay
: 主机Linux内核版本3.18+ - 支持的磁盘文件系统
- ext4(仅限RHEL 7.1)
- xfs(RHEL7.2及更高版本),需要启用d_type=true。 >具体详情参考 Docker Use the OverlayFS storage driver
编辑
/etc/docker/daemon.json
加入以下内容{ "storage-driver": "overlay2", "storage-opts": ["overlay2.override_kernel_check=true"], "log-driver": "json-file", "log-opts": { "max-size": "100m", "max-file": "3" } }
- 完整配置文件如下
{ "registry-mirrors": ["https://7bezldxe.mirror.aliyuncs.com"], "insecure-registries": ["https://git.5th.im"], "storage-driver": "overlay2", "storage-opts": ["overlay2.override_kernel_check=true"], "log-driver": "json-file", "log-opts": { "max-size": "100m", "max-file": "3" } "max-concurrent-downloads": 3, "max-concurrent-uploads": 5 }
-
-
修改网卡名称
# 统一网卡名称为ethx
sudo sed -i 's/en[[:alnum:]]*/eth0/g' /etc/network/interfaces
sudo sed -i 's/GRUB_CMDLINE_LINUX="\(.*\)"/GRUB_CMDLINE_LINUX="net.ifnames=0 cgroup_enable=memory swapaccount=1 biosdevname=0 \1"/g' /etc/default/grub
sudo update-grub
重启
Runcher 单节点安装
先决条件:
1.证书必须是PEM格式
,PEM
只是一种证书类型,并不是说文件必须是PEM为后缀,具体可以查看证书类型。
2.确保容器包含您的证书文件和密钥文件。由于您的证书是由认可的CA签署的,因此不需要安装额外的CA证书文件。
3.给容器添加--no-cacerts
参数禁止Rancher生成默认CA证书。
4.这里的证书不需要进行base64
加密。
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
-v <主机路径>:/var/lib/rancher/ \
-v /root/var/log/auditlog:/var/log/auditlog \
-e AUDIT_LEVEL=3 \
-v /etc/your_certificate_directory/fullchain.pem:/etc/rancher/ssl/cert.pem \
-v /etc/your_certificate_directory/privkey.pem:/etc/rancher/ssl/key.pem \
rancher/rancher:stable (或者rancher/rancher:latest) --no-cacerts
例如:
docker run -d --restart=unless-stopped \
-p 80:80 -p 443:443 \
-v /data/rancher:/var/lib/rancher/ \
-v /data/log/auditlog:/var/log/auditlog \
-e AUDIT_LEVEL=3 \
-v /data/ssl/rancher.cert:/etc/rancher/ssl/cert.pem \
-v /data/ssl/rancher.key:/etc/rancher/ssl/key.pem \
rancher/rancher:stable --no-cacerts