步骤一 创建Dockerfile
#基础镜像
FROM golang
#下载beego、bee、mysql
RUN go get github.com/astaxie/beego && go get github.com/beego/bee && go get github.com/go-sql-driver/mysql
#端口
EXPOSE 8080
CMD ["bee", "run"]
步骤二 构建Image
一旦创建了Docker file,运行如下的命令来创建image:
$ docker build -t ma-image .
执行以上的命令将创建名为ma-image的image。该image现在可以用于使用该应用程序的任何人。这将确保这个团队能够使用一个统一的开发环境。
步骤三 运行容器
一旦 ma-image 已经完成,你可以使用以下的命令启动一个容器:
$ docker run -it --rm --name device-instance -p 8080:8080 -v /Users/liukerui/go/src/DeviceManagementService:/go/src//DeviceManagementService -w /go/src/DeviceManagementService device-image
docker run命令用于从一个image上启动一个容器
- -it 标签以交互的方式启动容器
- –rm 标签在容器关闭后将会将其清除
- –name ma-instance 将容器命名为ma-instance
- -p 8080:8080 标签允许通过8080端口访问该容器
- -v /app/MathApp:/go/src/MathApp更复杂一些。它将主机的/app/MathApp映射到容器中的/go/src/MathApp。这将使得开发文件在容器的内部和外部都可以访问。
- ma-image 部分声明了用于容器的image。