Docker 化你的开源项目

引言

在我开源的 蓝眼云盘 https://github.com/eyebluecn/tank 中有 网友建议 道使用docker并且push到DockerHub上,这样子就可以一行代码直接安装蓝眼云盘了。这个提议非常好,因此本篇文章就记录下蓝眼云盘docker化的整个详细过程。在阅读这篇文章之前,读者需要具有Docker基础,我推荐阅读 《Docker — 从入门到实践》 。

目标

熟悉docker和docker-compose的基本操作

熟悉将 golang 工程部署到docker的整个流程

能够在docker中快速启动蓝眼云盘,访问 http://server-ip:6010 可以看到首页内容

环境1. 宿主机环境

宿主机不要求和我完全一致,其他版本的Linux也行,甚至Mac Os, Windows ,只要能安装docker都行。

2. docker

docker 尽量使用最新版本

构建Docker镜像1. 准备源代码

clone 项目 Github 后端tank地址https://github.com/eyebluecn/tank到本地。

2. 制作Dockerfile文件

我们需要从源代码开始编译整个项目,Dockerfile文件描述整个构建的过程。

在tank根目录下创建文件。

在clone下来的蓝眼云盘项目中,已经存在了,你可以直接阅读中的内容,或者删除这个文件重新创建,以作学习练习使用。

的内容如下:

3. 开始构建docker镜像

首先保证当前目录是所在的目录,然后执行以下指令即可开始构建:

其中 是我的 ID,是镜像名,是我当前构建的镜像版本。

注意最后的小点不要遗漏了。

如果构建成功,会看到以下提示

4. 推送到远程

只有当我们把自己构建的镜像push到Docker Hub后,别人才能很方便的下载,一行命令执行我们的应用。如果你对Docker Hub注册,或者命令行登录不熟悉,请参考这篇文章:《Docker Hub》 https://yeasy.gitbooks.io/docker_practice/content/repository/dockerhub.html

推送到远程的指令如下:

如果命令执行成功,你将看到以下提示

运行项目1. docker-compose 安装

我们的蓝眼云盘项目在运行的时候依赖数据库,在docker中运行一个镜像依赖另一个镜像的时候就要使用到。首先进入的下载页 https://github.com/docker/compose/releases 。找到一个稳定版本的安装脚本,在命令行中执行便可。

2. 编写docker-compose.yml

描述了镜像启动的数据卷,环境变量,启动方式,依赖项等。运行蓝眼云盘的如下:

3. 运行项目

首先保证当前目录是所在的目录,然后执行以下指令即可运行蓝眼云盘:

4. 验证

由于数据库启动需要一定的时间,因此大约20s后,打开浏览器访问,如果看到以下界面则表示运行成功。

5. 停止项目

方法一:使用以下命令来停止蓝眼云盘

方法二:当然你也可以用停止容器的方式来停止蓝眼云盘

参考文章

我开源了一个私人云盘——蓝眼云盘 https://blog.eyeblue.cn/home/article/8953d493-f80a-4be0-bde2-50d3c5747430

Docker — 从入门到实践 https://www.gitbook.com/book/yeasy/docker_practice/details

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180130G0LC7Q00?refer=cp_1026

相关快讯

扫码关注云+社区