内容参考《docker从入门到实践》
一:修改已有镜像
1:先使用下载好的镜像启动容器
docker run -t -i ubuntu:12.04 /bin/bash
2:可以在容器内做一些修改,比如新建个文件等操作
3:exit 退出该容器
4:提交修改并且创建新的镜像
docker commit -m "add a text" -a "sun" a291acfea4c0 ouruser/ubuntu:v2
命令类似 git 命令
-m "add a text" : 注释
-a "sun" : 用户信息
a291acfea4c0 : 容器ID(再登陆到容器的shell时会有)
ouruser/ubuntu:v2 : 生成镜像的仓库名称和tag信息了
5:使用 docker images 查看镜像,新建好了
二:使用 Dockerfile 创建镜像
1:任意新建一个目录
2:新建一个文件 Dockerfile (只能是这个文件名,其他名字不可以)
3:编辑Dockerfile文件
4:使用 docker build 命令构建镜像
docker build -t='ouruser/ubuntu:v3' /opt/dockerfiles/
-t :仓库名称和tag号
/opt/dockerfiles/: Dockerfile所在的目录
我的Dockerfile中使用的镜像在本地没有,所有build时会先下载ubuntu:14.04镜像,然后在执行Dockerfile中的指令,每执行一个指令都会创建一层镜像,然后在删除该镜像,一个镜像不能超过127。
三:保存与加载镜像
1:保存镜像 docker save
docker save -o /opt/dockerImages/ubuntu-14.04.tar ubuntu:14.04
2:加载镜像 docker load
docker load < /opt/dockerImages/ubuntu-14.04.tar
或者
docker load --input /opt/dockerImages/ubuntu-14.04.tar
四:移除本地镜像
docker rmi
*注意:移除镜像前要先使用 rm 命令移除依赖这个镜像的所有容器
五:从本地文件导入
需要预先下载镜像,然后使用命令导入(本地未测试)
cat ubuntu-14.04-x86_64-minimal.tar.gz | docker import - ubuntu:14.04
六:上传镜像 docker push
docker push ouruser/sinatra
将自己创建的镜像上传到 Docker Hub上(应该需要注册什么的,本人未测试)