一、目的
- 掌握构造镜像的方法
- 根据项目运行所用到的环境定制镜像
- 学会将自己构建的镜像提交到远程仓库
二、学习内容
1. 按照要求构建 angular-cli (前端)镜像,要求如下:
- 基于 alpine:latest 镜像;
- 包含编译 angular 项目的所需要的环境;
- 镜像的启动命令为 ng version ;
- 得到的最终镜像小于100Mb。
2. 按照要求构建运行 postgres (数据库)的镜像,要求如下:
- 基于 postgres:alpine 数据库镜像为基础制作镜像;
- 要求用 .sql 文件初始化一个用户名为 “tester” ,密码 为 “123456” 的数据库用户,原始镜像的 其它配置不变;
- 得到的最终镜像小于100Mb。
3. 按照要求构建服务端镜像(后端),要求如下:
- 以 goLang 为开发语言,写一个 main.go 程序,要求启动后输出 “HelloDocker” ,并将编译好 的程序放到镜像的工作目录中;
- 设置工作目录为 /var/workspace/be ;
- 把编译后的 main 程序放入工作目录;
- 为镜像设置一个启动命令,用于启动 main 程序; 最终镜像小于10MB。
三、参考步骤
1.构建angular镜像
- 第一个任务需要构建一个包含 angualr 构建环境的镜像,在此之前你需要了解构建 angular 项目 需要用到 ng-cli ,而且安装 ng-cli 需要依赖 node-js 和 npm 。因此根据这条信息,我们先在工 作目录下编写一个 Dockerfile 文件。
- 你可以在工作目录下,右键菜单创建一个 Dockerfile 文件并编辑它。下列命令创建了 Dockerfile 文件并进入编辑器。
$ touch Dockerfile
$ gedit Dockerfile - 在编辑器中将 Dockerfile 的内容修改为。
FROM alpine:latest
RUN apk add nodejs && apk add npm && echo y | npm install -g @angular/cli
CMD ["ng","version"]

- 当 Dockerfile 检查无误后,我们保存并返回到工作目录,使用 docker build 命令根据当前目录 下的 Dockerfile 文件来构建一个镜像。
执行上一步后将会得到以下效果。
$ docker build -t myimages:angular .
- 执行上一步后将会得到以下效果。

- 完成后,查看一下本地的镜像列表,看看镜像是否已成功创建。
$ docker images

本文详细介绍了如何利用Docker构建angular前端、postgres数据库和Go后端服务的镜像。包括镜像的构建过程、镜像大小控制以及将镜像上传到dockerhub的步骤,旨在提升对Docker定制化镜像的理解和实践能力。
最低0.47元/天 解锁文章
2478

被折叠的 条评论
为什么被折叠?



