本文内容:在已经使用docker toolbox在win环境下安装好了docker,以及go的sdk的基础上,如何使用docker部署go的gin框架简单应用
在使用docker toolbox安装docker,涉及到Docker环境的初始化时候,会在VirtualBox中创建名字为【default】的linux虚拟机,会用到名为boot2docker.iso的镜像。然而一般下载时候自带的这个镜像的版本不对,请自行百度下载对应版本的iso文件。本文不做赘述。
所需环境
- Golang 1.14
- Goland IDE
- Docker toolbox
1. 检测docker的网络可用性
打开Docker Quickstart Terminal,安装完成后
输入docker run hello-world后如出现以下信息,则证明安装配置成功,可继续进行
2.创建并配置golang的gin框架
- 在golandIDE中 设置GoPath并且创建项目(注意选择Go Modules创建),点击create
- 在项目中创建文件:
views文件夹下的index.html(主页模板)
main.go
DockerFile.txt
FROM导入go基本镜像
WORKDIR创建虚拟路径,ADD将本地文件移入此路径
RUN执行命令,换国内源并下载go-gin依赖包
EXPOSE暴露80端口
CMD运行go项目
项目目录如下:
- 在创建docker之前,我们先试运行一下这个gin应用
在main.go中将鼠标放于报错处,点击Sync dependencies of hello下载gin依赖包
然后运行main函数
打开浏览器输入localhost(根据之前设置的默认80端口),项目启动成功
3.将本项目用docker打包部署
- 停止运行项目
在Docker Quickstart Terminal中cd到本项目所在路径
- 创建本项目镜像
输入
(注意第二个.之前有个空格)
- 查看镜像
镜像创建成功
出现此字眼后输入
docker image ls
查看本地所有镜像,可以看到myhello镜像已经创建成功
4.运行容器
输入
将原本的80端口映射到宿主机的8080端口上
表示容器已经运行
win10家庭版使用的dockertoolbox的容器是运行在虚拟机中的,因此容器的ip并不是localhost,而是被分配的虚拟机中的ip地址
此ip地址可以通过docker-machine ip命令去查看
输入
获得虚拟机的ip地址后在浏览器中输入:
192.168.99.100:8080
至此,在windows10中简单的基于gin框架的go web的应用部署成功。