-
docker pull ubuntu //拉取ubuntu最新image
-
docker run -it ubuntu bash //交互式进入容器
-
官网下载go tar包 https://golang.google.cn/doc/install
-
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.17.5.linux-amd64.tar.gz
-
echo -e “export GO111MODULE=onnexport GOPROXY=https://goproxy.cn,directnexport PATH=$PATH:/usr/local/go/bin” >> ~/.bashrc
- 在另一个终端外执行 docker commit -m “first docker” -a “test1”(自定义) f60ec72c8729(容器编号) ubuntu1(自定义)
$ cat Dockerfile FROM ubuntu-go #基础镜像文件 MAINTAINER Mamahh #维护人员姓名 WORKDIR /upload #工作目录,对应docker环境目录 ADD * ./ #拷贝文件到upload ADD static /upload/static #**注意:拷贝目录需要在被拷贝路径添加目录名称** ADD tmpfile /upload/tmpfile RUN /usr/local/go/bin/go mod download RUN /usr/local/go/bin/go build -o main main.go EXPOSE 8080 #暴露8080端口 CMD ["./main"] #运行程序
$ cat make_image.sh docker build -t mamahh-go(新镜像名) .
$ cat run_image.sh docker run -p 8080:8080 mamahh-go
!!!注意:为了保证docker端口被重置,main.go路由启动时候不要指定端口,直接在Dockerfile的EXPOSE定义即可
执行make_image.sh 生成mamahh-go的新docker镜像 执行run_image.sh 以8080端口运行mamahh-go的镜像 本地访问127.0.0.1:8080/xxx 即可


