目录

MacOS Docker 安装

对于MacOS,我们可以使用 Homebrew 来安装 Docker,在终端中输入如下命令:

brew cask install

在载入 Docker App 后,点击 Next,可能会询问你的 MacOS 登陆密码,输入即可;

之后会弹出一个 Docker 运行的提示窗口,状态栏上也有有个小鲸鱼的图标,如下:

构建Java+Gradle环境的Docker镜像_gradle


这就表示Docker下载并且安装成功了。

参考资料: ​​MacOS Docker 安装​

整体流程

构建Java+Gradle环境的Docker镜像的整体流程如下:
1、编写Dockerfile脚本文件,创建Docker镜像;
2、通过镜像启动容器,进行本地调试;
3、在本地容器中设置Java环境;
4、在本地容器中设置Gradle环境;
5、保存并上传镜像;

Dockerfile脚本的编写

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明;

在一个空目录下,新建一个名为 Dockerfile 文件,并在文件内添加以下内容:

## 镜像下载链接
FROM xxxUrl
USER root
## 在 Dockerfile 的这里,写自定义镜像的脚本
## 熟悉Docker命令的可以直接在此处通过命令设置Java和Gradle环境
## 不熟悉的就按照本文说的进行本地调试

在 Dockerfile 文件的存放目录下,执行构建动作,执行以下命令:

## 根据 Dockerfile 构建镜像,【. 目录为 Dockerfile 所在的目录】
docker build -t xxx/xxx .
##上述命令构建出一个xxx/xxx的镜像,(镜像名称:镜像标签)

开启本地调试

通过Dockerfile脚本创建好一个Docker镜像之后,执行如下操作开启本地调试:

## 打公司或者个人的 tag
docker tag xxx/xxx docker.yyy.com/xxx/xxx:1.0.0

## 上传该镜像到公司/个人源
docker push docker.yyy.com/xxx/xxx:1.0.0

## 测试拉下来镜像
docker pull docker.yyy.com/xxx/xxx:1.0.0

## 本地通过镜像来启动一个容器
docker run -itd docker.yyy.com/xxx/xxx:1.0.0 /bin/bash

## 本地进入容器中调试
docker exec -t -i [容器的 hash]

注意:
1、通过docker images命令可以查看本机镜像;
2、Docker的操作类似于Git,本机调试完之后需要commit保存,然后pull、push;
3、Docker命令大全:​​​Docker 命令大全​

设置Java环境

后面两个步骤可能会由于你下载的Docker镜像内核不同而不同,本文以Linux64位为例进行说明;

这个步骤归根到底就一句话:在Linux中安装Java环境;

本文采用的方式是在电脑上下载好JDK,然后拷贝进Docker镜像,最后设置环境变量。

1、下载JDK
这个步骤不用说,去官网下载所需版本即可;

2、拷贝JDK进Docker镜像;
这个步骤可以通过Docker cp命令完成,如下:

docker cp  [容器的hash]:/usr/java  /tmp/jdk-8u221-linux-x64.tar.gz

拷贝完成之后,进入镜像解压缩即可;

3、设置环境变量;
这个步骤不说了,不会的参考:​linux配置java环境变量(详细)

设置Gradle环境

Gradle是基于Ant和Maven的构建工具,同样需要Java运行环境,安装之前需要先安装配置好Java环境;

1、下载Gradle

进入Docker容器,进入安装包下载,输入以下命令:

wget

耐心等待下载完成即可。

2、解压安装

下载完成后,执行下面的命令,将压缩包解压到如下路径:

unzip -d /opt/gradle gradle-4.6-bin.zip

3、修改配置

解压完成后,输入命令 vim /etc/profile ,进入配置文件进行编辑,输入下面红色圈出来的内容:

构建Java+Gradle环境的Docker镜像_linux_02


保存退出后,输入刷新命令 source /etc/profile ,刷新配置文件使其生效。

4、校验安装结果

输入命令 gradle --version ,检查安装的Gradle版本号及其他信息,如出现如下信息,则安装完成。

构建Java+Gradle环境的Docker镜像_dockerfile_03

此部分参考:Linux下安装Gradle

保存上传镜像

环境配置好之后,通过 docker commit命令保存镜像,如下:

runoob@runoob:~$ docker commit -a "jgc" -m "提交说明"

关于commit命令的说明见:​​Docker commit 命令​

最后通过docker push上传完成的镜像就好啦~