在CentOS上使用Docker进行Golang项目的容器化部署是一个常见且高效的方法。以下是详细的步骤:
安装Docker: 首先,确保在CentOS系统上安装了Docker。可以使用以下命令安装Docker:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
编写Dockerfile:
创建一个名为 Dockerfile
的文件,内容如下:
# 使用官方的Go镜像作为基础镜像
FROM golang:1.18 AS builder
# 设置工作目录
WORKDIR /app
# 复制项目文件
COPY . .
# 编译项目
RUN CGO_ENABLED=0 go build -o myapp .
# 使用一个轻量级的镜像作为运行环境
FROM scratch
# 将编译好的二进制文件复制到运行环境中
COPY --from=builder /app/myapp /myapp
# 指定容器启动时运行的命令
ENTRYPOINT ["/myapp"]
构建Docker镜像: 在项目目录下执行以下命令来构建Docker镜像:
docker build -t myapp:latest .
运行Docker容器: 构建完成后,可以使用以下命令运行Docker容器:
docker run -p 8080:8080 myapp:latest
验证部署:
打开浏览器,访问 http://localhost:8080
,你应该会看到你的应用正在运行并返回“Hello, Docker!”。
通过这些步骤,你可以将Golang应用程序成功容器化并在CentOS上运行。