Docker 安装 MySQL、Redis、Nginx


1、Portainer 安装(docker可视化)

docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
  1. 选择本地的数据
  2. docker中镜像,容器等信息

2、Docker 安装MySQL

注意MySQL数据持久化问题 进行卷挂载,即使MySQL容器删除,本地挂载的主机目录下,也有原数据
# 获取镜像,指定版本,不写默认最新
docker pull mysql:5.7
# 通过挂载运行容器,MySQL启动需要设置密码
#	-d 后台启动
#	-p 宿主机容器端口映射
#	-v 卷挂载 主机目录:容器目录
#	-e 设置密码
#	--name 设置容器别名

# -v /mydata/mysql/log mysql日志
# -v /mydata/mysql/data mysql数据
# -v /mydata/mysql/conf mysql配置
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

# /mydata/mysql/conf目录下编写 my.cnf配置文件
vim my.cnf

# 文件内容,复制到 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

3、Docker安装Redis

# 拉取镜像,默认最新
docker pull redis

# 先在外面创建一个文件,防止下面命令启动容器时,将 .conf 当成一个目录
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

# 启动一个容器 
# redis-server /etc/redis/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

# 测试是否安装成功,进入redis客户端
docker exec -it redis redis-cli

# 修改配置文件 redis.conf,设置持久化方式
vi redis.conf
# 内容
appendonly yes

# redis配置文件 官网地址:https://redis.io/docs/manual/config/

4、Docker安装 Nginx

  1. 搜索Nginx docker search nginx
  2. 下载镜像 docker pull nginx
  3. 启动镜像 docker run -d -p 3333:80 --name ngin001 nginx # -d 后台启动 # -p 端口暴露,让宿主机端口映射容器端口 # ngin001 别名(启动多个的时候做区分) # 3333 外面访问的端口,对应 docker的80端口 # nginx 启动的是docker镜像 # 本机访问 3333 端口 curl localhost:3333 启动成功
经验分享 程序员 微信小程序 职场和发展