分享
Docker 运行一个 golang程序
中柠檬 · · 4650 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
搭建 mysql 环境
mysql.app
docker run --net=host -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=letchat -d hub.c.163.com/library/mysql:latest
1. 通过容器编译并运行当前目录下的 golang程序(依赖需要先下载到当前目录 vendor中)
gobuild.app
docker run --net=bridge --rm -v $PWD:/go/src/app -w /go/src/app hub.c.163.com/library/golang:latest go build -v
2. 使用 Docker构建镜像,在此镜像上运行一个容器,使用该容器运行 golang程序
Dockerfile
FROM hub.c.163.com/library/golang:latest
WORKDIR /go/src/app
COPY . .
#RUN go-wrapper download # \"go get -d -v ./...\"
RUN go-wrapper install # \"go install -v ./...\"
CMD ["sh","-c","/go/bin/app"]
gorun.app
# build image app
# docker build -t app:latest .
# set env
export GIN_MODE=release
# make the container
docker run --net=host -it -d app:latest
2 种方式选1个。第一个是直接在本地生成一个 app 程序,可以直接 ./app 运行。第二个是在容器内部运行 app程序,但是网络端口使用宿主机的端口,相当于直接在本机上运行。
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信4650 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
搭建 mysql 环境
mysql.app
docker run --net=host -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=letchat -d hub.c.163.com/library/mysql:latest
1. 通过容器编译并运行当前目录下的 golang程序(依赖需要先下载到当前目录 vendor中)
gobuild.app
docker run --net=bridge --rm -v $PWD:/go/src/app -w /go/src/app hub.c.163.com/library/golang:latest go build -v
2. 使用 Docker构建镜像,在此镜像上运行一个容器,使用该容器运行 golang程序
Dockerfile
FROM hub.c.163.com/library/golang:latest
WORKDIR /go/src/app
COPY . .
#RUN go-wrapper download # \"go get -d -v ./...\"
RUN go-wrapper install # \"go install -v ./...\"
CMD ["sh","-c","/go/bin/app"]
gorun.app
# build image app
# docker build -t app:latest .
# set env
export GIN_MODE=release
# make the container
docker run --net=host -it -d app:latest
2 种方式选1个。第一个是直接在本地生成一个 app 程序,可以直接 ./app 运行。第二个是在容器内部运行 app程序,但是网络端口使用宿主机的端口,相当于直接在本机上运行。