docker搭建及部署容器

本文档详述了如何使用Docker在本地环境中快速安装和配置MySQL、Redis以及Nginx。包括设置Docker镜像加速、启动容器、配置数据库、解决连接问题以及实现服务的自动启动。同时,还提供了遇到网络问题时的解决方案。
摘要由CSDN通过智能技术生成

一、docker安装

https://www.jianshu.com/p/abbcbe004290

设置镜像加速,不然docker hub中的镜像下载可能会慢
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

二、搭建mysql

1、下载镜像文件

docker pull mysql:5.7

2、创建实例并启动

docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

参数说明

-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口

-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机

-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机

-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机

-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码

3、MySQL 配置

vi /mydata/mysql/conf/my.cnf

[client] 
default-character-set=utf8 
[mysql] 
default-character-set=utf8 
[mysqld] 
init_connect='SET collation_connection = utf8_unicode_ci' 
init_connect='SET NAMES utf8' 
character-set-server=utf8 
collation-server=utf8_unicode_ci 
skip-character-set-client-handshake 
skip-name-resolve
4、解决MySQL连接慢的问题

在配置文件中加入如下,并重启 mysql

[mysqld] 
skip-name-resolve 

解释:

skip-name-resolve:跳过域名解析

5、连接mysql

docker exec -it mysql mysql -uroot -proot

6、设置root远程访问

use mysql
grant all privileges on . to ‘root’@’%’ identified by ‘root’ with grant option;

flush privileges;

7、进入容器文件系统

docker exec -it mysql /bin/bash

三、搭建redis

1、下载镜像文件

docker pull redis

2、创建实例并启动

先在宿主机新建redis.conf是因为需要挂载,但宿主机默认没有该配置文件

mkdir -p /mydata/redis/conf

touch /mydata/redis/conf/redis.conf

docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf

3、配置持久化

vim /mydata/redis/conf/redis.conf

appendonly yes
配置AOF持久化

4、使用redis镜像执行redis-cli命令连接

docker exec -it redis redis-cli

四、搭建nginx

1、随便启动一个nginx实例,只是为了复制出配置

docker run -p 80:80 --name nginx -d nginx:1.10

2、将容器内的配置文件拷贝到当前目录

docker container cp nginx:/etc/nginx .

随后停止并删除Nginx容器
docker stop nginx
docker rm nginx

调整文件夹

  1. 修改文件夹名称:mv nginx conf
  2. 将这个conf移到/mydata/nginx下
3、

五、设置容器自启动

docker update mysql --restart=always

X、可能遇到的问题

1、连不上外网下载不了镜像

报错 Error response from daemon: Get https://registry-1.docker.io/v2/

解决方法:Error response from daemon: Get https://registry-1.docker.io/v2/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值