镜像构建
使用commit命令创建镜像(不推荐)
虽然不推荐,但还是要了解下
- 登录到DockerHub
docker login
如果没有账号前往docker.com官网进行注册
- 创建一个需要提交的容器
docker run -i -t ubuntu /bin/bash
apt-get -y update
apt-get -y install apache2
- 退出创建的容器
exit
- 提交定制了apache2的容器
docker commit b729d5a05235 hzqiuxm/apache2
用Dockerfile构建镜像 (推荐)
优点: 具备可重复性,透明性,幂等性
- 编写脚本Dockerfile
制定一个目录下创建一个文件Dockerfile
# Version: 0.0.1
FROM unbuntu:14.04
MAINTAINER James Turnbull "hzqiuxm@163.com"
RUN apt-get update && apt-get install -y nginx
RUN echo 'Hi I am in your contaniner' \
>/usr/share/nginx/html/index.html
EXPOSE 80
- 执行脚本
docker build -t="hzqiuxm/static_web" .
注意后面的. 表示当前目录
- 推送镜像到自己的DockerHub
docker push hzqiuxm/static_web
构建关键点
- Dockerfile构建缓存保证每次从失败的步骤继续
- Dockerfile新指令
自动构建
除了上述二种方式,我们可以可以把GitHub或BitBucket中含有Dockerfile文件的仓库连接到DockerHub即可
删除镜像
docker rmi hzqiuxm/static_web
只会删除本地的镜像
运行自己的Docker Registry
- 利用DockerHub提供的私有仓库(小项目推荐)
- 在防火墙后面运行自己的Registry(大项目推荐)