以下内容来自ChatGPT
当前(2023年3月)最新的Golang版本是1.18,Node.js版本是16。您可以使用以下Dockerfile来构建一个包含Golang 1.18和Node.js 16的Docker镜像:
# 基础镜像
FROM golang:1.18
# 添加Node.js源
RUN curl -sL https://deb.nodesource.com/setup_16.x | bash -
# 安装Node.js和npm
RUN apt-get update && \
apt-get install -y nodejs && \
npm install npm@latest -g
# 设置工作目录
WORKDIR /app
# 复制项目文件
COPY . .
# 构建应用程序
RUN go build -o app
# 开放端口
EXPOSE 8080
# 运行应用程序
CMD ["./app"]
这个Dockerfile基于官方Golang 1.18镜像构建,并在其基础上安装了Node.js 16和npm。然后,它会将当前目录中的所有文件复制到容器中,并使用go build命令来构建应用程序。最后,它会将容器的默认CMD设置为运行该应用程序。
要构建此Docker镜像,请将上述Dockerfile保存到一个名为Dockerfile的文件中,并在包含该文件的目录中打开终端窗口。接下来,输入以下命令以构建镜像:
docker build -t my-golang-node-app .
该命令会使用当前目录中的Dockerfile文件创建名为my-golang-node-app的Docker镜像。请注意,命令末尾的句点表示当前目录。构建完成后,您可以使用以下命令来启动这个新的Docker容器:
docker run -p 8080:8080 my-golang-node-app
该命令将容器的8080端口映射到主机的8080端口,以便您可以从浏览器访问该应用程序。
正在学习Go语言的PHP程序员。