跳转至

centos7安装docker环境

centos7下安装docker环境

本指南只针对目标操作系统为centos7的环境

安装Docker

更新yum源

sudo yum update -y

添加Docker软件源

sudo yum -y install yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

推荐

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

再次更新yum源

sudo yum update -y

安装docker

sudo yum install docker-ce -y

更换docker源

sudo mkdir -p /etc/docker
sudo vi /etc/docker/daemon.json

输入

{
    "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn"
    ]
}

docker开机自启

sudo systemctl enable docker

启动docker

sudo systemctl start docker

安装docker-compose

下载当前稳定版本

sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

推荐

sudo curl -L https://get.daocloud.io/docker/compose/releases/download/v2.2.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

赋予可执行权限

sudo chmod +x /usr/local/bin/docker-compose

创建软链接

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试是否安装成功

docker-compose version

使用docker-compose部署

version: "3"
services:
  redis:
    container_name: redis
    image: redis:latest
    volumes:
      - ./redis/data:/data
    ports:
      - "6379:6379"
    environment:
      - TZ=Asia/Shanghai
    restart: always
    command: redis-server --requirepass redis --appendonly yes --daemonize no
  mysql:
    container_name: mysql
    image: mysql:5.7
    environment:
      - MYSQL_ROOT_PASSWORD=root
    volumes:
      - ./mysql/data:/var/lib/mysql # mysql数据
      - ./mysql/conf/my.cnf:/etc/mysql/my.cnf # 挂载配置文件
      - ./mysql/init:/docker-entrypoint-initdb.d/ # 挂载数据初始化sql脚本
    ports:
      - "3306:3306"
    restart: always
  nginx:
    container_name: nginx
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./nginx/conf:/etc/nginx/conf.d
      - ./nginx/data:/usr/share/nginx/html
    restart: always
    network_mode: "host"

mysql配置文件(my.cnf)

[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8mb4
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4