一、MySQL部署

1.拉取mysql5.7镜像

docker pull mysql:5.7

2.创建容器,启动mysql5.7 (建议别用最新版本的mysql)

docker run -id --name=mysql1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

-p  代表端口映射,格式为    宿主机映射端口:容器运行端口

-e  代表添加环境变量  MYSQL_ROOT_PASSWORD 是root用户的登录密码

Docker(三)——应用部署(MySQL部署,Nginx部署,Redis部署)

设置好之后,可以用电脑上的mysql可视化工具远程连接宿主机的mysql,因为做了端口映射关系,操作宿主机的mysql就相当于操作容器里面的mysql。

中间出了个小插曲,我的远程服务器是阿里云的,本地工具连接3306端口之前将此端口需要先开放出来。

Docker(三)——应用部署(MySQL部署,Nginx部署,Redis部署)

 

 mysql工具创建远程连接(填写远程服务器的公网IP和密码)

Docker(三)——应用部署(MySQL部署,Nginx部署,Redis部署)

 

连接上之后,创建一个新的数据库aaa

Docker(三)——应用部署(MySQL部署,Nginx部署,Redis部署)

 

 然后进入容器mysql也能看到刚才新建的数据库aaa,说明端口映射做成功了

Docker(三)——应用部署(MySQL部署,Nginx部署,Redis部署)

 

 下次只要操作宿主机上的mysql就能相应改变容器内的mysql数据

二、Nginx部署

1.拉取镜像

docker pull nginx

2.创建Nginx容器(做端口映射80)

docker run -id --name=mynginx -p 80:80 nginx

三、Redis部署,支持远程连接

1.拉取镜像

docker pull redis:alpine3.11

2.创建conf和data文件夹,在conf中创建redis.conf文件,内部写入(为了放置一些redis的配置文件)

bind 0.0.0.0 #绑定地址
daemonize NO
protected-mode no #运行远程连接
requirepass 123456 #密码是123456

启动容器,并把宿主机上的配置文件映射到容器内

docker run -p 6379:6379 --name redis_6379 -v /home/test/redis/conf/redis.conf:/etc/redis/redis.conf -v /home/test/redis/data:/data -d redis:alpine3.11 redis-server /etc/redis/redis.conf --appendonly yes

本地使用redis可视化工具远程连接宿主机的redis(如果连接不上请去查看6379端口是否开启)

Docker(三)——应用部署(MySQL部署,Nginx部署,Redis部署)

 

 使用redis可视化工具随便添加一个键值对

Docker(三)——应用部署(MySQL部署,Nginx部署,Redis部署)

 

设置之后能够在容器中获取到刚才设置的键name,说明连接成功了,修改宿主机的值对容器内部也有影响

Docker(三)——应用部署(MySQL部署,Nginx部署,Redis部署)