一、检查CentOS系统
查看linux的系统是否是CentOS
cat /etc/redhat-release
查看硬盘以GB的方式显示
df -h
查看CPU相关信息
lscpu
cat /proc/cpuinfo
查看CPU核数
echo "Threads/core: $(nproc --all)"
查看Memory大小
cat /proc/meminfo
free
二、安装Docker到你的CentOS上
参见教程:https://docs.docker.com/engine/install/centos/
简单总结到以下四步骤
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo systemctl start docker
试运行docker
sudo docker run hello-world
三、部署Golang + Gin
1.切换到项目根目录
cd ../project1
2.添加Dockerfile文件,内容如下
FROM golang:alpine
RUN mkdir -p /home/project1
WORKDIR /home/project1
COPY ./ /home/project1
RUN export GOPROXY=https://proxy.golang.com.cn,direct
RUN go build -o /home/project1 main.go diagnostics.go
ENTRYPOINT [ "/home/project1", "-c", "/home/project1/conf/test.yaml" ]
这里使用的是golang 1.18版本,而golang:alpine是golang推断专门为docker准备镜像包
3.编译项目
docker build -t project1 .
4.给这个镜像打一个tag
docker tag project1 my/project1:v1.0
5.将tag推到docker hub
docker push my/project1:v1.0
然后你将在https://hub.docker.com/repository 看到你的项目,前提是你已经注册了账户
6.登录到你的CentOS
前提是,你的服务器已安装docker环境,并且docker已处于运行状态,然后运行以下命令:
docker run -itd --name my/project1 -p 9190:9190
此时服务器上还没有这个my/project1的镜像,则会自动去docker hub上下载
7.访问刚搭建的docker镜像
curl http://localhost:9190
四、部署Python + Tornado
1.切换到项目根目录
cd ../project2
2.添加Dockerfile文件,内容如下
FROM python:3.9.13
EXPOSE 9180
RUN mkdir -p /home/project2
WORKDIR /home/project2
COPY ./ /home/project2
COPY requirements.txt /home/znzpay
RUN pip3 install --no-cache-dir -r requirements.txt
ENTRYPOINT ["python3", "main.py"]
这里把项目中的依赖库导出到requirements.txt里,通过以下命令
pip freeze -> requirements.txt
3.编译打包项目
docker build -t project2 .
4.给这个镜像打一个tag
docker tag project2 my/project2:1.0
5.将tag推到docker hub
docker push my/project2:1.0
然后你将在https://hub.docker.com/repository 看到你的项目,前提是你已经注册了账户
6.登录到你的CentOS
前提是,你的服务器已安装docker环境,并且docker已处于运行状态,然后运行以下命令:
docker run -itd --name my/project2 -p 9180:9180
此时服务器上还没有这个my/project2的镜像,则会自动去docker hub上下载
7.访问刚搭建的docker镜像
curl http://localhost:9180
资源:
1.Docker Hub: https://hub.docker.com
2.Docker安装:https://docs.docker.com/engine/install/centos/
3.Golang环境
2.Python环境