- 0. 创建普通账号(test)
- 1. Centos7下安装Docker
- 1.1. 查看docker版本,验证是否安装成功
- 1.2. 启动docker服务&&查看是否启动成功&&设置开机启动
- 1.3. 查看docker已安装镜像
- 1.4. 卸载docker已安装镜像
- 1.4.1. 查看镜像实例是否运行 && 停止镜像实例进程
- 1.4.2. 卸载镜像实例
- 1.4.3. 卸载镜像
- 1.5. 拉取镜像
- 2. Docker安装MySQL
- 2.1. 下载mysql5.7
- 2.2. 基于镜像创建mysql容器实例
- 2.3. 授权root允许访问
- 2.4. 防火墙允许3306放行
- 3. Docker安装Redis
- 4. Docker安装Nacos
0. 创建普通账号(test)仅作为开发本地环境搭建参考
为了安全起见,我们是不会直接用root账号,一般是会用普通账号,在这里我创建一个普通账号(test).
# 1. 创建普通用户(test) [root@dev-application ~]# useradd test # 2. 设置test密码 [root@dev-application ~]# passwd test # 3. 为test账号配置sudo权限 [root@dev-application ~]# vi /etc/sudoers ## Allow root to run any commands anywhere # 增加如下内容( 允许用户app不需要输入密码即可即行sudo ) test ALL=(ALL) NOPASSWD:ALL1. Centos7下安装Docker
- centos 系统源自带的 docker 版本(1.13.1)比较老不建议使用,可安装社区版docker ce
- 可以参考https://docs.docker.com/engine/install/centos/安装
# 设置稳定安装源 [test@localcentos ~]$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo [test@localcentos ~]$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 安装docker [test@localcentos ~]$ sudo yum install -y docker-ce1.1. 查看docker版本,验证是否安装成功
1.2. 启动docker服务&&查看是否启动成功&&设置开机启动docker version
# 启动docker [test@localcentos ~]$ sudo systemctl start docker # 查看是否启动成功 [test@localcentos ~]$ sudo systemctl status docker # 设置开机启动 [test@localcentos ~]$ sudo systemctl enable docker1.3. 查看docker已安装镜像
1.4. 卸载docker已安装镜像 1.4.1. 查看镜像实例是否运行 && 停止镜像实例进程docker ps
docker stop CONTAINER ID(可全写可写部分开头)
1.4.2. 卸载镜像实例docker ps
docker stop CONTAINER ID(可全写可写部分开头)
docker ps -a # 列出所有容器实例,包括未运行的
docker rm CONTAINER ID
1.4.3. 卸载镜像执行后,镜像还在,但是容器实例已经被卸载
1.5. 拉取镜像docker rmi IMAGE ID
2. Docker安装MySQL 2.1. 下载mysql5.7docker pull mysql:版本号 #不写:版本号默认最新版本
docker pull mysql:5.7
# 1. 安装tree(可忽略)
[test@localcentos ~]$ yum -y install tree
# 2. 创建mysql应用程序的数据目录(可忽略)
[test@localcentos ~]$ mkdir -p ~/application/mysql/{conf,logs,data}
# 3. 查看mysql应用程序的数据目录(可忽略)
[test@localcentos ~]$ tree
.
└── application
└── mysql
├── conf
├── data
└── logs
# 3. 下载mysql5.7
[test@localcentos ~]$ sudo docker pull mysql:5.7
# 4. 查看拉取的镜像
[test@localcentos home]$ docker images
2.2. 基于镜像创建mysql容器实例
# 5. 基于镜像创建mysql容器实例 # 注意: MYSQL_ROOT_PASSWORD请自行填写 # 注意: /home/app/application/mysql为宿主机目录 [test@localcentos home]$ sudo docker run -p 3306:3306 --name mysql -v /home/test/testlication/mysql/conf:/etc/mysql -v /home/test/testlication/mysql/logs:/var/log/mysql -v /home/test/testlication/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
2.3. 授权root允许访问参数说明:
- -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
- MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
- -v 操作在容器创建的过程时候可以将宿主机的目录挂载到容器内
# 1. 进入mysql容器 [test@localcentos ~]$ sudo docker exec -it mysql /bin/bash # 2. root用户登录mysql # mysql -u root -p #3. 修改允许root远程访问 # alter user 'root'@'%' identified with mysql_native_password by '123456'; # 4. 给某个用户授权 # grant all privileges on . to 'root'@'%' identified by '123456' with grant option; # 5. 刷新授权 # flush privileges; # exit #退出容器2.4. 防火墙允许3306放行
- sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
- sudo firewall-cmd --reload
3. Docker安装Redis至此,可以用navicat等工具远程连接mysql
# 1. 拉取redis镜像 [test@localcentos ~]$ sudo docker pull redis # 2. 运行redis [test@localcentos ~]$ sudo docker run -it -d --restart=always --name redis -p 6379:6379 redis # 3. 防火墙放行 [test@localcentos ~]$ sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent [test@localcentos ~]$ sudo firewall-cmd --reload # 4. 进入redis容器 [test@localcentos ~]$ docker exec -it redis-test /bin/bash # 5. redis-cli 连接测试使用 redis 服务
4. Docker安装Nacos–restart=always 后,当 docker 重启时,容器自动启动。
需要注意,nacos需要数据库,所以,需要创建数据库和和表. 数据库执行如下脚本文件即可
nacos.sql
# 1. 拉取镜像 [test@localcentos ~]$ sudo docker pull nacos/nacos-server # 2. 运行nacos # 注意配置mysql:ip地址/数据库名称/用户名/密码. # NACOS_SERVER_IP : 代表nacos服务器的IP地址. # MYSQL_SERVICE_HOST: mysql服务器IP地址. sudo docker run -d --restart=always --name nacos -p 8848:8848 --env MODE=standalone --env NACOS_SERVER_IP=192.168.41.128 --env SPRING_DATASOURCE_PLATFORM=mysql --env MYSQL_SERVICE_HOST=192.168.41.128 --env MYSQL_SERVICE_DB_NAME=nacos --env MYSQL_SERVICE_USER=root --env MYSQL_SERVICE_PASSWORD=123456 --env MYSQL_DATABASE_NUM=1 nacos/nacos-server # 3. 防火墙开放端口 [test@localcentos ~]$ sudo firewall-cmd --zone=public --add-port=8848/tcp --permanent [test@localcentos ~]$ sudo firewall-cmd --reload
【注意】:如果报错:invalid reference format: repository name must be lowercase.
检查 前面要有空格
访问:http://192.168.41.128:8848/nacos 控制台登录页面;nacos/nacos



