在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上运行。