概要
之前学习过如何使用docker,这是一篇补充。主要讲述如何新建一个docker的镜像并推送到云端的过程
下载镜像
可以参考之前的文章。我们可以使用国内的镜像仓库,这样下载速度会大大加快。
网易云的镜像中心
这里建议使用 aplpine linux,小巧方便。
docker pull hub.c.163.com/library/alpine:latest
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hub.c.163.com/library/alpine latest 4e38e38c8ce0 16 months ago 3.966 MB
编写Dockfile
- 先以交互方式来运行镜像alpine:
docker run -i -t <image tag> /bin/sh
注意: alpine linux只有shell,如果你使用 /bin/bash 将会看到错误提示
- alpine 使用 apk 作为包管理工具。使用apk安装之前,需要更新:
apk update
apk update的执行速度会非常的慢,这就需要我们换源
# 修改为国内的源
echo "http://mirrors.aliyun.com/alpine/v3.4/main/" > /etc/apk/repositories
- 安装其他的包
## 查包
apk search <包名>
## 装包
apk add <包名>
经过反复实验之后,基本上就了解了大致需要装哪些包,需要修改、删除哪些文件了。
制作Dockfile
- 创建Dockfile,并编辑
- 生成镜像
docker build -t <name> <path>
比如
docker build -t test/app .
- 运行
docker run -d --name=app -p 8080:8000
以deamon方式运行,名字为app,映射端口
推送到云端
可以参考网易云的推送说明,可以可以直接在网易云上构建。
其他
想尝试时速云或者是DaoCloud等产品,但是私有仓库属于收费项目,所以想免费为自己的镜像找一个hub还真不容易。暂时发现了网易云可以用,所以这里就用网易云为例子进行了说明。
网友评论