一、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用户的登录密码
设置好之后,可以用电脑上的mysql可视化工具远程连接宿主机的mysql,因为做了端口映射关系,操作宿主机的mysql就相当于操作容器里面的mysql。
中间出了个小插曲,我的远程服务器是阿里云的,本地工具连接3306端口之前将此端口需要先开放出来。
mysql工具创建远程连接(填写远程服务器的公网IP和密码)
连接上之后,创建一个新的数据库aaa
然后进入容器mysql也能看到刚才新建的数据库aaa,说明端口映射做成功了
下次只要操作宿主机上的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端口是否开启)
使用redis可视化工具随便添加一个键值对
设置之后能够在容器中获取到刚才设置的键name,说明连接成功了,修改宿主机的值对容器内部也有影响