FROM golang:1.19MAINTAINER "xxx@gmail.com"WORKDIR /home/go/src/sanHeRecruitmentADD . /home/go/src/sanHeRecruitmentRUN go build main.goEXPOSE 9090ENTRYPOINT ["./main"]
参数解释:
FROM -> 母镜像
MAINTAINER -> 维护者信息
WORKDIR -> 工作目录
ADD -> 将文件复制到镜像中
RUN -> 执行操作(就跟在终端执行语句一样)
EXPOSE -> 暴露端口
ENTRYPOINT -> 程序入口
docker build -t sanhe .
docker run -p 9090:9090 -d sanhe[images名称]
-p
本机端口:镜像端口
-d
后台运行
注意:当你的项目有需要连接到本地的端口时你不能从容器中使用localhost访问主机上的服务,你必须使用主机的ip地址来访问。
原因:默认的docker将使用桥,桥将为您的容器设置一个内部网络,所以当容器使用localhost时,它并不意味着主机,它意味着容器自身的网络。
解决办法: --net=host。
docker run --net=host -p 9090:9090 -d sanhe
docker exec -it 49ec8845ac2a(容器名称) bash
docker cp 49ec8845ac2a(容器名称):/home/go/src/sanHeRecruitment/logs/system.log.20230318.log(内部路径) /home(外部路径)
上一篇:网络补充 总结
下一篇:如何学习Java开发