centos7 安装docker 以及优化
1.Kernel调优
1.1 配置系统内核参数
cat >> /etc/sysctl.conf<<EOF
net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-iptables=1
net.ipv4.neigh.default.gc_thresh1=4096
net.ipv4.neigh.default.gc_thresh2=6144
net.ipv4.neigh.default.gc_thresh3=8192
kernel.shmmax = 33285996543
kernel.shmmni = 4096
kernel.shmall = 8126464
kernel.sem = 1010 129280 1010 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
fs.file-max = 6815744
EOF
配置文件生效
modprobe br_netfilter
/sbin/sysctl -p
1.2 修改系统资源限制
cat >> /etc/security/limits.conf<<EOF
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
EOF
2. Docker安装
2.1 卸载旧版本Docker软件
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
container*
2.2 更新源信息并依赖包安装
$ sudo yum update -y
$ sudo yum install -y yum-utils device-mapper-persistent-data \
lvm2 bash-completion
2.3 添加软件仓库源信息
$ sudo yum-config-manager --add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.4 安装docker
可按以下几种方式安装docker
方式一、更新仓库源缓存并安装最新稳定的docker-ce版本(一般用此方式安装即可)
$ sudo yum makecache all
$ sudo yum -y install docker-ce docker-ce-selinux
方式二、列出仓库源中可用的docker-ce版本,并安装指定的docker-ce版本(可选)
$ sudo yum list docker-ce --showduplicates | sort -r
$ sudo yum -y install --setopt=obsoletes=0 docker-ce-<VERSION_STRING> docker-ce-selinux
方式三、如果已经安装高版本docker,可进行降级安装(可选)
$ sudo yum downgrade --setopt=obsoletes=0 -y docker-ce-<VERSION_STRING> docker-ce-selinux
2.5 启动docker服务并设置开机启动
$ sudo systemctl start docker
$ sudo systemctl status docker #查看docker服务运行状态
设置开机启动
$ sudo systemctl enable docker
$ sudo systemctl list-unit-files |grep docker
3. Docker 优化
3.1 镜像加速与日志驱动配置
sudo vi /etc/docker/daemon.json
输入
{
"registry-mirrors": ["https://lzwjngux.mirror.aliyuncs.com"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}
3.2 overlay2存储驱动配置(docker info 查看是否已经是overlay2)
$ sudo docker info
备注:如果为非overlay2,需要添加配置,具体如下
$ sudo vi /etc/docker/daemon.json
输入
{
"storage-driver": "overlay2",
"storage-opts": ["overlay2.override_kernel_check=true"]
}
3.3 配置完文件重启docker
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
实战
nacos
创建 nacos文件夹
创建docker-compose.yml
version: "3" #版本号
services:
# 参考https://nacos.io/zh-cn/docs/quick-start-docker.html
joolun-nacos:
image: nacos/nacos-server:2.0.3
restart: always
container_name: joolun-nacos
environment:
- MODE=standalone
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_SERVICE_HOST=10.10.0.30
- MYSQL_SERVICE_PORT=3306
- MYSQL_SERVICE_DB_NAME=nacos_config
- MYSQL_SERVICE_USER=root
- MYSQL_SERVICE_PASSWORD=nacos@@password
ports:
- 8848:8848
docker-compose up -d