用dockerfile实现一个golang1.18和node16的运行环境


以下内容来自ChatGPT

当前(2023年3月)最新的Golang版本是1.18,Node.js版本是16。您可以使用以下Dockerfile来构建一个包含Golang 1.18和Node.js 16的Docker镜像:

  1. # 基础镜像
  2. FROM golang:1.18
  3. # 添加Node.js源
  4. RUN curl -sL https://deb.nodesource.com/setup_16.x | bash -
  5. # 安装Node.js和npm
  6. RUN apt-get update && \
  7. apt-get install -y nodejs && \
  8. npm install npm@latest -g
  9. # 设置工作目录
  10. WORKDIR /app
  11. # 复制项目文件
  12. COPY . .
  13. # 构建应用程序
  14. RUN go build -o app
  15. # 开放端口
  16. EXPOSE 8080
  17. # 运行应用程序
  18. CMD ["./app"]

这个Dockerfile基于官方Golang 1.18镜像构建,并在其基础上安装了Node.js 16和npm。然后,它会将当前目录中的所有文件复制到容器中,并使用go build命令来构建应用程序。最后,它会将容器的默认CMD设置为运行该应用程序。

要构建此Docker镜像,请将上述Dockerfile保存到一个名为Dockerfile的文件中,并在包含该文件的目录中打开终端窗口。接下来,输入以下命令以构建镜像:

  1. docker build -t my-golang-node-app .

该命令会使用当前目录中的Dockerfile文件创建名为my-golang-node-app的Docker镜像。请注意,命令末尾的句点表示当前目录。构建完成后,您可以使用以下命令来启动这个新的Docker容器:

  1. docker run -p 8080:8080 my-golang-node-app

该命令将容器的8080端口映射到主机的8080端口,以便您可以从浏览器访问该应用程序。