Docker安装常用开发环境工具mysql/redis/nacos/nginx | Windows 版

435 阅读3分钟

image.png

Docker安装常用开发环境工具mysql/redis/nacos/nginx | Windows 版

java 开发必备工具安装

官网下载 docker 桌面版安装 www.docker.com/products/do…

使用国内镜像源=>设置=>Docker Engine Windows Docker 配置国内镜像源的两种方法_windows修改docker镜像源

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://mirror.ccs.tencentyun.com"
  ]
}

1.mysql5.7

# 1.宿主机创建数据目录
以下命令在
windows powerShell 中执行

mkdir -p D:/mydata/docker_data/mysql57/conf
mkdir -p D:/mydata/docker_data/mysql57/data
mkdir -p D:/mydata/docker_data/mysql57/log

# 2.拉取镜像
docker pull mysql/mysql-server:5.7

# 3.创建容器
docker run -p 3306:3306 --name mysql57 -v D:/mydata/docker_data/mysql57/log:/var/log/mysql -v  D:/mydata/docker_data/mysql57/data:/var/lib/mysql -v  D:/mydata/docker_data/mysql57/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql/mysql-server:5.7

# 3.进入mysql57 容器
docker exec -it mysql57 /bin/bash

# 4.登录 mysql
mysql -uroot -p
输入密码 123456

# 5. 开启远程访问
	本地开发直接使用 root 生产服务视情况创建用户及权限
use mysql;
-- ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
-- update user set host = '%' where user = 'root';
-- grant all privileges on *.* to root@'%' identified by "123456";
flush privileges;
exit

# 6.宿主机使用连接工具 navicat/mysql workbench等 连接测试

2. redis

# 1. 创建宿主机数据目录
mkdir -p D:/mydata/docker_data/redis/data
mkdir -p D:/mydata/docker_data/redis/conf

# 2.拉取镜像
docker pull redis:7.2

# 3.redis官网找到对应的版本 下载配置文件,无法访问 则可用迅雷下载
redis.conf 文件下载:https://redis.io/topics/config/

# 4.将 下载的 redis.conf 复制到  D:/mydata/docker_data/redis/conf 目录下

# 5.修改 redis.conf 配置文件
	修改配置项
  # bind 127.0.0.1 -::1  注释掉
  appendonly yes
  daemonize no
  
# 6.创建redis容器
docker run -p 6379:6379 --name redis 
-v D:/mydata/docker_data/redis/data:/data 
-v D:/mydata/docker_data/redis/conf/redis.conf:/etc/redis/redis.conf 
-d redis:7.2 redis-server /etc/redis/redis.conf

3.nacos

3.1简单版

# 1. 拉取镜像
docker pull nacos/nacos-server

# 2.创建容器
docker run --env MODE=standalone --name nacos221 -d -p 8848:8848 docker.io/nacos/nacos-server

# 3.宿主机访问 验证
loclahost:8848/nacos
默认账号密码 nacos/nacos

3.2 mysql 存储版 参考 blog.csdn.net/studio_1/ar…

# 1. 创建宿主机数据目录
mkdir -p D:/mydata/docker_data/nacos

# 2. 拉取 nacos镜像
docker pull nacos/nacos-server:v2.2.1

# 3. 简单创建 nacos
docker run --name nacos221 -d -p 8848:8848 -e MODE=standalone  nacos/nacos-server:v2.2.1

# 4. 复制 容器配置数据到宿主机
docker cp nacos221:/home/nacos/conf/ D:/mydata/docker_data/nacos/
docker cp nacos221:/home/nacos/data/ D:/mydata/docker_data/nacos/
docker cp nacos221:/home/nacos/logs/ D:/mydata/docker_data/nacos/


# 5.创建数据库 nacos_221 执行 D:\mydata\docker_data\nacos\conf\mysql-schema.sql
# 6.修改配置文件 application.properties
	修改项
	spring.datasource.platform=mysql
	spring.sql.init.platform=mysql
	
	db.num=1
	db.url.0=jdbc:mysql://192.168.0.104:3306/nacos_221?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false}
	db.user.0=root
	db.password.0=123456

	nacos.core.auth.plugin.nacos.token.secret.key=VGNteEp3MDVrJC1femN4Lik4RXRGQ15EXkYxVyFJUHI=
	nacos.core.auth.server.identity.key=nacosKey
	nacos.core.auth.server.identity.value=nacosValue


# 7. 删除nacos容器
docker stop nacos221
docker rm nacos221

# 8. 重新创建 nacos 容器
docker run -d --name nacos221 -p 8848:8848 -p 9848:9848 -p 9849:9849 --env MODE=standalone --env NACOS_AUTH_ENABLE=true -v D:/mydata/docker_data/nacos/conf/:/home/nacos/conf -v D:/mydata/docker_data/nacos/logs:/home/nacos/logs -v D:/mydata/docker_data/nacos/data:/home/nacos/data nacos/nacos-server:v2.2.1

非本机访问 需要加 [ --ip 公网ip  ]参数

# 9.宿主机访问 验证
localhost:8848/nacos
默认账号密码 nacos/nacos

4.nginx

# 1.创建宿主机数据目录
mkdir -p D:/mydata/docker_data/nginx/conf
mkdir -p D:/mydata/docker_data/nginx/log

# 2.拉取镜像
docker pull nginx:1.24

# 3. 简单创建容器
docker run --name nginx124 -p 8081:80 -d nginx:1.24

# 4.复制容器内配置文件到宿主机
docker cp nginx124:/etc/nginx/nginx.conf D:/mydata/docker_data/nginx/conf
docker cp nginx124:/usr/share/nginx/html D:/mydata/docker_data/nginx/

# 5.删除旧容器
docker stop nginx124
docker rm nginx124

# 6.重新创建容器
docker run -p 8082:80 --name nginx124 -v D:/mydata/docker_data/nginx/html:/usr/share/nginx/html -v D:/mydata/docker_data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v D:/mydata/docker_data/nginx/log:/var/log/nginx -d nginx:1.24

# 7.宿主机浏览器访问验证
http://localhost:8082/