docker运行golang文件之端口映射【笔记】
引言
在之前,我们以golang为基础镜像,创建Dockerfile,然后将go文件放入docker中编译运行,详情请参考docker基于Golang制作镜像输出hello docker【笔记】一节,经过镜像制作运行才发现docker文件大小达到了814M,在实际开发过程中,如果仅仅是为了能够运行go项目,我们是绝对不允许这种镜像存在的。这一节我们将用alpine(详细介绍请参考alpine官网)来作为基础镜像,将打包好的go可执行文件ADD至Docker中,然后运行。
端口映射
- 为什么需要端口映射
1、实现从容器外部访问容器中网络应用
2、容器间相互通信(容器互联)
- 端口映射有哪集中方式
1、映射到所有地址的随机端口,P大写
docker run -P [image]
2、映射到所有地址的指定端口,p小写
docker run -p port:dockerPort [image]
3、映射到指定地址指定端口
docker run -p ip:port:dockerPort [image]