Docker 镜像安装mysql redis nginx nacos

Docker 镜像安装实践

安装MySql数据库

安装步骤
第一步:在hub.docker.com上搜索mysql镜像
在这里插入图片描述

第二步:拉取指定版本的mysql,也可以指定拉取版本,例如:

 docker pull mysql:8.0.23

第三步:检查mysql镜像

docker images

第四步:启动运行mysql镜像 (docker run 用于启动一个容器)

sudo docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.23

假如安装过程中失败了,则可通过docker ps -a 查看以前的容器,假如已存在,则通过docker rm 镜像id 删除再重新安装即可。

登陆mysql服务
第一步:进入容器 (退出容器用exit)

sudo docker exec -it mysql bash

第二步:登陆(默认密码root),一定要先进入mysql容器。

mysql -uroot -proot

停止和启动mysql服务
停止mysql服务(可选)

docker stop mysql

启动mysql服务

docker start mysql

假如希望查看mysql启动时的日志,可以执行 docker container logs mysql 这个指令。

设置mysql开机自启动(可选)

docker update mysql --restart=always

远程工具连接docker 中的mysql容器导入数据库

  • 若连接失败,要对mysql容器进行授权
    可能遇到的问题
    这个时候使用客户端连接工具连接的话,会遇到: Client does not support authentication protocol 的错误。

解决办法是设置远程登录,让我们继续。

2. 设置远程登录

2.1 进入MySQL容器,登陆MySQL

 docker exec -it mysql /bin/bash

2.2 登陆mysql**

  mysql -u root -p

2.3 输入密码
这个时候会提示输入密码,输入即可。

2.4 进行授权远程连接授权

GRANT ALL ON *.* TO 'root'@'%';

刷新权限

flush privileges

注意,这时还不能远程访问
因为Navicat只支持旧版本的加密,需要更改mysql的加密规则

2.5 更改加密规则

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

更新root用户密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

刷新权限

flush privileges;

然后就可以使用 Navicat 连接数据库了。

安装Redis数据库

安装步骤
第一步:下载镜像文件

docker pull redis #默认拉取最新版本

第二步:准备配置文件

创建redis配置文件目录


mkdir -p /usr/local/docker/redis01/conf

在配置文件录下创建redis.conf配置文件(这个文件一定要创建,否在我们进行目录挂载时默认生成的是一个目录)

touch /usr/local/docker/redis01/conf/redis.conf

第三步:创建redis实例并启动

sudo docker run -p 6379:6379 --name redis01 \
-v /usr/local/docker/redis01/data:/data \
-v /usr/local/docker/redis01/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf 

第四步:查看正在运行的进程

docker ps

访问redis服务器
第一步:控制台直接连接redis测试

docker exec -it redis01 bash

第二步:检测redis 版本

redis-server  -v

或者

redis-cli -v

第三步:登录redis(默认不需要密码)

redis-cli

或者直接将上面的两个步骤合为一个步骤执行也可以,指令如下:

docker exec -it redis01 redis-cli

停止和启动redis服务
停止redis服务?


docker stop redis01

启动redis服务?

docker start redis01

重启 redis 服务?


docker restart redis01

安装Nginx代理

安装步骤
第一步:拉取nginx镜像 (从这里hub.docker.com去查找)


docker pull nginx

第二步:查看images镜像


docker images

第三步:创建数据卷(这个对象会在宿主机直接创建一个目录)

docker volume create nginx-vol

说明:查看数据卷对应的宿主机目录,可以通过如下指令:


docker inspect nginx-vol

第四步:启动nginx服务

docker run --name nginx  -p 80:80 -v nginx-vol:/etc/nginx -d nginx

其中:/etc/nginx 为nginx容器启动时,nginx镜像文件默认的解压目录

说明:假如以后想修改nginx配置,可以直接去nginx-vol数据卷对应的目录去修改.

访问nginx服务
进行访问检测,如图所示:

在这里插入图片描述

停止和nginx服务

停止nginx服务


docker stop nginx

启动nginx服务

docker start nginx

重启nginx服务

docker restart nginx

安装Nacos组件

安装步骤
第一步:拉取nacos(hub.docker.com)


docker pull nacos/nacos-server:1.4.1

第二步: mysql中执行nacos的sql脚本文件

1)将此文件nacos-mysql.sql(这个文件可从code服务器下载)拷贝到mysql容器的宿主机对应的挂载目录(可通过docker inspect mysql查看你mysql的挂载目录)

2)在linux环境下启动并登录mysql

进入mysql容器(前提是mysql已启动)

docker exec -it mysql bash

登录mysql


mysql -uroot -p

3)通过source指令运行容器目录下的sql文件

  • 自带的SQL文件没有创建数据库的命令语句
链接:https://pan.baidu.com/s/13YO46XJu4YCYaWrXC6CGGQ 
提取码:d4nn
source  /etc/mysql/nacos-mysql.sql  #这里的/etc/mysql为容器中的一个目录(要选择你自己挂载的目录)
#把nacos-mysql.sql文件导入mysql容器中的挂载目录 进入mysql导入数据文件时导入的容器目录与挂载目录相对应的容器目录

docker run  \
-e TZ="Asia/Shanghai" \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_DATABASE_NUM=1 \
-e MYSQL_SERVICE_HOST=192.168.126.129 \ #虚拟机ip
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \  #自己mysql用户名
-e MYSQL_SERVICE_PASSWORD=root \ #自己mysql密码
-e MYSQL_SERVICE_DB_NAME=nacos_config \ #你导入nacos 相关的SQL文件
-p 8848:8848 \
--name nacos \
--restart=always \
-d nacos/nacos-server:1.4.1
参数说明

单节点模式
MODE=standalone
数据库地址
MYSQL_SERVICE_HOST
数据库用户名
MYSQL_SERVICE_USER
数据库密码
MYSQL_SERVICE_PASSWORD
需连接的数据库名称
MYSQL_SERVICE_DB_NAME
端口映射
-p 8848:8848
任意时候重启容器,开机就能自动启动容器(需设置docker为开机自启)

--restart=always

第四步:检查nacos服务


docker ps

假如启动失败,检查启动日志,例如:


docker container logs nacos

其中,nacos的启动日志在/home/nacos/logs/start.out文件中。

访问nacos服务
启动nacos,然后在windows中输入http://ip:port/nacos方式进行访问测试
在这里插入图片描述

说明,nacos登录时,默认用户名和密码都是nacos.

Nacos 与 MySQL 通讯分析

在这里插入图片描述

停止和启动nacos服务

停止nacos服务


docker stop nacos

启动nacos服务


docker start nacos

重启nacos服务


docker restart nacos

网络拉取慢,容易出错可以考虑离线安装

  • 相关镜像包
链接:https://pan.baidu.com/s/1KfJ8hh3RJBFTI7NDA-btfQ 
提取码:p5za
  • 相关命令
  • 导入镜像
docker load < hello-world.tar.gz  
  • 运行镜像文件
docker run hello-world #若是导入的镜像,那么就得加版本号,不然会加区远程仓库下载最新版本

猜你喜欢

转载自blog.csdn.net/qq_44724703/article/details/120645329