一. 准备环境
- 一台运行内存4G的机子
- 关掉防火墙和selinux,之后重启docker
//重启docker
sudo systemctl daemon-reload //守护进程重启
sudo systemctl restart docker //重启docker服务
二. rancher搭建
# 拉取镜像
sudo docker pull rancher/server
# 运行
sudo docker run -d --restart=unless-stopped --name rc -p 8080:8080 rancher/server
访问http://<IP>:8080
三. 创建主机
结果:
四. 创建容器
- 先创建go api容器
# 拉取镜像
docker pull golang:1.14.4-alpine3.12
照着这条命令创建容器
docker run --name myweb -d -v /home/shenyi/myweb:/app -w /app -p 80:80 alpine:3.12 ./myserver
3. 先创建nginx容器
# 拉取镜像
docker pull nginx:1.19-alpine
# 创建nginx配置文件
sudo mkdir webconfig
sudo vi nginx.conf
链接: nginx配置文件在线生成网址(写一个代理go api容器的配置文件)
照着这条命令创建容器
docker run --name nginx -d -v /home/shenyi/webconfig/nginx.conf:/etc/nginx/nginx.conf -p 80:80 nginx:1.19-alpine
五. 测试,访问http://<IP>:80
我修改了hosts文件和nginx配置文件,wx.jtthink.com域名会代理到go api容器中,结果: