1.安装Docker Desktop
直接去官网下载windows版本的Docker Desktop安装包,然后直接安装Docker Desktop,安装完成之后打开Docker Desktop,最后打开PowerShell作为控制台来执行docker命令。将所有容器连接到同一个网络,方便使用容器名互相访问
2.安装MySQL
1.创建挂载目录
mkdir E:\development_sources\docker\mysql\log,E:\development_sources\docker\mysql\data,E:\development_sources\docker\mysql\conf,E:\development_sources\docker\mysql\mysql-files
2.执行命令安装MySQL
docker run -p 3306:3306 --restart=always --name mysql -v E:\development_sources\docker\mysql\log:/var/log/mysql -v E:\development_sources\docker\mysql\data:/var/lib/mysql -v E:\development_sources\docker\mysql\conf:/etc/mysql -v E:\development_sources\docker\mysql\mysql-files:/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.24
3.创建网络并连接容器
docker network create dev_net
docker network connect dev_net mysql
3.安装Redis
1.创建挂载目录
mkdir E:\development_sources\docker\redis\data
2.执行命令安装Redis
docker run -p 6379:6379 --restart=always --name redis -v E:\development_sources\docker\redis\data:/data -d redis redis-server --appendonly yes --requirepass redis
3.连接容器
docker network connect dev_net redis
4.安装nginx
1.创建挂载目录
mkdir E:\development_sources\docker\nginx\html,E:\development_sources\docker\nginx\logs
2.执行命令安装Nginx
docker run -p 80:80 --restart=always --name nginx -v E:\development_sources\docker\nginx\html:/usr/share/nginx/html -v E:\development_sources\docker\nginx\logs:/var/log/nginx -d nginx
3.连接容器
docker network connect dev_net nginx
然后在E:\development_sources\docker\nginx\html中创建一个index.html文件,里面写hello world,可以在浏览器中通过nginx访问到
5.安装MongoDB
1.创建挂载目录
mkdir E:\development_sources\docker\mongo\db
2.执行命令安装MongoDB
docker run -p 27017:27017 --restart=always --name mongo -v E:\development_sources\docker\mongo\db:/data/db -d mongo --auth
3.进入容器内部
docker exec -it mongo mongosh admin
4.创建用户
db.createUser({
user:'admin',pwd:'123456',roles:[ {
role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
5.验证用户
db.auth('admin','123456')
6.连接容器
docker network connect dev_net mongo
6.安装Nacos
1.在mysql中创建nacos数据库,并在nacos数据库中执行下面的sql脚本
/*
* Copyright 1999-2018 Alibaba Group Holding Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_info */
/******************************************/
CREATE TABLE `config_info` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`data_id` varchar(255) NOT NULL COMMENT 'data_id',
`group_id` varchar(255) DEFAULT NULL,
`content` longtext NOT NULL COMMENT 'content',
`md5` varchar(32) DEFAULT NULL COMMENT 'md5',
`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`src_user` text COMMENT 'source user',
`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
`app_name` varchar(128) DEFAULT NULL,
`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
`c_desc` varchar(256) DEFAULT NULL,
`c_use` varchar(64) DEFAULT NULL,
`effect` varchar(64