基础镜像环境清单
EDAS Docker 容器环境,内置了以下基础服务,为 EDAS 应用运行的基线要求。
- CentOS 7
- JDK 7 (默认) 或 JDK 8 (可选)
- Ali-Tomcat 7
部署镜像主要包括以下几步:
- 创建容器仓库镜像
- 登录远程仓库
- 更新/创建基础镜像容器
- 打包本地镜像
- 上传镜像仓库
1、创建容器仓库镜像
登录 Docker 镜像仓库控制台,在左侧导航栏中单击 [backcolor=transparent]镜像列表,在镜像仓库列表页面右上方单击 [backcolor=transparent]创建镜像仓库。
根据项目特性,设置 [backcolor=transparent]仓库名称,[backcolor=transparent]仓库类型,[backcolor=transparent]代码源 为 [backcolor=transparent]本地仓库 等必填信息。
[backcolor=transparent]> docker login --username=**********@aliyun.com registry.cn-hangzhou.aliyuncs.com- [backcolor=transparent]< Password:
- [backcolor=transparent]< Login Succeeded
提示 Login Succeeded 则登录成功。
3、更新/创建基础镜像容器
若需要重新打包基础镜像,请重新初始化整个打包环境,清空数据。执行前请注意备份数据。
(首次创建请跳过)备份代码与变更文件。
(首次创建请跳过)参考 下载 EDAS 基础镜像,更新本地基础镜像。[backcolor=transparent]docker pull registry.aliyuncs.com/edas/edas-container:3.0.0
执行命令,初始化打包环境,清空已有数据(注意替换镜像版本号)。
- [backcolor=transparent]docker rm -f -v edas-build-package
- [backcolor=transparent]docker run --name edas-build-package -d --restart=always registry.aliyuncs.com/edas/edas-container:3.0.0
4、打包本地镜像
完成
基础镜像定制 后,根据打包方式不同,分别执行以下
shell 进行镜像打包。此时,打包后的镜像保存在本地。
[backcolor=transparent]注意:将最后的镜像地址,替换成之前在
创建容器仓库镜像 中创建的镜像仓库名,并填写一个易于辨识的版本号。
以下方命令为示例,打包服务 registry.cn-hangzhou.aliyuncs.com/edas/demo-frontend-service,版本号20161111
针对 方式一:编写 Dockerfile,向容器内复制本地文件,或执行命令[backcolor=transparent]docker build [backcolor=transparent]-[backcolor=transparent]t demo[backcolor=transparent]-[backcolor=transparent]frontend[backcolor=transparent]-[backcolor=transparent]service[backcolor=transparent]:[backcolor=transparent]20161111[backcolor=transparent] [backcolor=transparent]-[backcolor=transparent]f [backcolor=transparent]/[backcolor=transparent]tmp[backcolor=transparent]/[backcolor=transparent]Dockerfile[backcolor=transparent] [backcolor=transparent].- [backcolor=transparent]docker tag demo[backcolor=transparent]-[backcolor=transparent]frontend[backcolor=transparent]-[backcolor=transparent]service[backcolor=transparent]:[backcolor=transparent]20161111[backcolor=transparent] registry[backcolor=transparent].[backcolor=transparent]cn[backcolor=transparent]-[backcolor=transparent]hangzhou[backcolor=transparent].[backcolor=transparent]aliyuncs[backcolor=transparent].[backcolor=transparent]com[backcolor=transparent]/[backcolor=transparent]edas[backcolor=transparent]/[backcolor=transparent]demo[backcolor=transparent]-[backcolor=transparent]frontend[backcolor=transparent]-[backcolor=transparent]service[backcolor=transparent]:[backcolor=transparent]20161111
针对
方式二:本地 docker 命令,向容器内复制本地文件 /
方式三:进入 docker 容器,下载远程文件
- [backcolor=transparent]export[backcolor=transparent] IMAGE_ID[backcolor=transparent]=[backcolor=transparent]`docker ps -a -f name=edas-build-package --format {{.ID}}`[backcolor=transparent] [backcolor=transparent]&&[backcolor=transparent] docker commit $IMAGE_ID registry[backcolor=transparent].[backcolor=transparent]cn[backcolor=transparent]-[backcolor=transparent]hangzhou[backcolor=transparent].[backcolor=transparent]aliyuncs[backcolor=transparent].[backcolor=transparent]com[backcolor=transparent]/[backcolor=transparent]edas[backcolor=transparent]/[backcolor=transparent]demo[backcolor=transparent]-[backcolor=transparent]frontend[backcolor=transparent]-[backcolor=transparent]service[backcolor=transparent]:[backcolor=transparent]20161111
5、上传镜像仓库
执行如下命令,将打包本地镜像,推送到远程服务器,待部署。若未登录或提示无权限,请参考
登录远程仓库 进行账号登录。
以下方命令为示例,推送远程服务仓库 registry.cn-hangzhou.aliyuncs.com/edas/demo-frontend-service,版本号20161111:
- [backcolor=transparent]docker push registry[backcolor=transparent].[backcolor=transparent]cn[backcolor=transparent]-[backcolor=transparent]hangzhou[backcolor=transparent].[backcolor=transparent]aliyuncs[backcolor=transparent].[backcolor=transparent]com[backcolor=transparent]/[backcolor=transparent]edas[backcolor=transparent]/[backcolor=transparent]demo[backcolor=transparent]-[backcolor=transparent]frontend[backcolor=transparent]-[backcolor=transparent]service[backcolor=transparent]:[backcolor=transparent]20161111