Docker部署项目安装文档
一、服务器环境:
腾讯云服务器环境:
2核4 G
Centos 8.0
二、安装docker
- 如果安装有docker先卸载
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- 添加阿里云镜像
sudo yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 选择docker特定版本安装
sudo yum install docker-ce-20.10.9 docker-ce-cli-20.10.9 containerd.io docker-compose-plugin
- 启动docker
sudo systemctl start docker
- 验证
sudo docker run hello-world
docker version
- 安装docker-compose
<u>https://github.com/docker/compose/releases</u>
下载docker-compose-linux-x86_64,并改名为docker-compose放在/usr/local/bin目录下
sudo chmod +x /usr/local/bin/docker-compose //将可执行权限应用于二进制文件
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose //创建软链
docker-compose --version //测试是否安装成功
三、安装环境
1. 安装mysql
安装最新的
docker search mysql
docker pull mysql:latest
指定版本安装
访问https://hub.docker.com/_/mysql/tags
选择版本
docker pull mysql:8.0
创建mysql容器
docker run -itd --name mysql_1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql //创建容器(后续采用docker-compose统一创建容器)
2. 安装redis
docker pull mysql:latest
docker run -itd --name redis_1 -p 6379:6379 redis //创建容器(后续采用docker-compose统一创建容器)
3. 安装nginx
docker pull nginx:latest
docker run --name nginx_1 -p 8001:80 -d nginx //创建容器(后续采用docker-compose统一创建容器)
开放端口
firewall-cmd --zone=public --add-port=8001/tcp --permanent //开放端口
firewall-cmd --reload //网关重启
4. 安装docker-compose
进行容器的统一管理
4.1 nginx配置文件
mkdir conf.d data logs
创建文件/opt/ywonchian/nginx/conf.d/nginx.conf
server{
listen 80; #监听端口号
server_name localhost; #主机名,这里是本地部署所以为localhost
charset utf-8; #字符编码为utf-8
location / {
root /etc/nginx/html; #转发到html目录下的静态文件
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
4.2 mysql配置文件
mkdir conf.d data logs
创建/opt/ywonchian/mysql/conf.d/my.conf
[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
4.3 redis配置文件
mkdir conf data logs
创建/opt/ywonchian/redis/conf/redis.conf
requirepass 123456
appendonly yes
4.4创建docker-compose.yml
创建文件/opt/ywonchian/docker-compose.yml
version: '3'
services:
nginx:
image: nginx
container_name: nginx_latest_1
ports:
- 80:80
- 443:443
volumes:
- ./data/html:/etc/nginx/html
- ./nginx/conf.d/:/etc/nginx/conf.d
restart: always
mysql:
image: mysql
container_name: mysql_8.0_1
ports:
- 3306:3306
environment:
- MYSQL_ROOT_PASSWORD=123456
- TZ=Asia/Shanghai
restart: always
volumes:
- ./mysql/conf:/etc/mysql/conf.d
- ./mysql/data:/var/lib/mysql
- ./mysql/logs:/logs
redis:
image: "redis:latest"
container_name: redis_single_1
restart: always
ports:
- "6379:6379"
volumes:
- ./redis/conf/redis.conf:/etc/redis/redis.conf
- ./redis/data:/data
command:
redis-server /etc/redis/redis.conf --appendonly yes
4.5创建容器并启动
docker-compose up -d //-d后台启动
docker-compose down #停止