简单介绍
- registry --------->仓库 ----------------->镜像
- 本地镜像都保存在宿主机下 :
/var/lib/docker/containers - 镜像从仓库下载下来.镜像保存在仓库中,而仓库存在于Registry中.
- Docker Hub 中有两种类型的仓库:
- 用户库:
用户仓库的镜像都是有docker用户创建的;
用户仓库的命名由用户名和仓库名两部分组成,如scrapinghub/splash - 顶层仓库
顶层仓库则是由docker内部人员来管理的;
顶层仓库只包含仓库名的部分,如centos仓库.
顶层仓库中的镜像时架构良好,安全且是最新的.
- 用do…
docker使用
1.拉取镜像
docker pull centos
2.从centos镜像 创建一个容器
docker run -i -t centos /bin/bash
3.用Dockerfile构建镜像
- 创建一个包含Dockerfile文件,Docker在创建镜像构建上下文,并将该文件所在目录下的所有文件上传到docker守护进程.
touch /root/docker_demo/Dockerfile
- 构建镜像的执行流程:
- Docker从基础镜像运行一个容器
- 执行一条指令,对容器做出修改
- 执行类似 docker commit的操作,提交一个新的镜像层
- Docer再基于刚提交的镜像运行一个容器
- 执行Dockerfile中的下一条指令,直到所有指令都执行完毕
FROM ubuntu:14.04
RUN apt-get update
RUN apt-get install -y nginx
EXPOSE 80
- 根据Dockerfile构建镜像
docker build -t='psd/test:v1' .
Docker Image的发布
- 方法1 Save Image To TarBall 保存为tar包
docker save to -o centos-myname-nginx.tar centos:nginx
docker load -i centos-myname-nginx.tar
- 方法2 Push Image To Docker Hub
docker login -u userabc -p abc-123 -e userab@gmail.com
docker pysh centos:nginx
docker pull userabc/centos:nginx
docker run -d -p 80:80 userabc/centos /bin/bash -c /usr/local/bin/star.sh