第一阶段:基本篇\01.Docker基本概念和框架等\04.Docker镜像与仓库(一)

查看和删除镜像

Docker image 镜像

联合加载 unit mount

存储位置 /var/lib/docker

docker info

列出镜像

docker images [OPTSIONS] [REPOSITORY]

镜像的标签和仓库

-a, –all=false -f, –filter=[] –no-trunc=false # 截断唯一iD -q,-quiet=false #

REPOSITORY # 仓库,一系列关联镜像的集合 REGISTRY # Docker 镜像的存储服务 TAG #

查看镜像

docker inspect [OPTIONS] container image [container image…]

-f, –format=””

docker inspect ubuntu:14.01

删除镜像

docker rmi [OPTIONS] IMAGRE [IMAGE…]

-f, –force=false 强力删除镜像 –no-prune=false Donot delete untagged parents

docker rmi $(docker images -q ubuntu)

获取和推送镜像

查找镜像

Docker Hub https://hub.docker.com/

docker search [OPTIONS] term
--automated=false Only show automated builds
--no-trunc=false Don't truncate output
-s, --stars=0 Only displays with at least x stars
最多返回25个结果

拉取镜像

docker pull [OPTION] NAME [:TAG]
-a, --all-tags=false Download all tagged images in the repository

使用 –registry-mirror 选项

  1. 修改:/etc/default/docker
  2. 添加:DOCKER_OPTS=”–registry-mirror=http://mirror.addr”

推送镜像

docker push NAME [:TAG]

docker push xiexianbin/nginx

构建镜像

目的:

  1. 保存对容器的修改,并再次使用
  2. 自定义镜像的能力
  3. 以软件的形式打包并分发服务以及其运行环境

docker commit 通过容器构建

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
 -a, --author="" Author
                             e.g,"xiexianbin me@xiexianbin.cn"
 -m, --message="" commit message
 -p,--pause=true Pause container during commit
docker run -it -p 80 --name commit_test ubuntu /bin/bash
apt-get install nginx
exit
docker commit -a "xiexianbin" -m "xiexianbin" commit_test xiexianbin:nginx:commit
docker images
docker run -d --name nginx_web -p 80 xiexianbin/nginx:commit nginx -g "daemo off;"
docker ps
curl http://127.0.0.1:4980
docker push xiexianbin/nginx:commit

docker build 通过Dockerfile 文件构建

创建Docker 文件

# first Docker
From ubuntu:14.04
MAINTATIER xiexianbin "me@xiexianbin.cn"
RUN apt-get update
RUN apt-get install -y nginx
EXPOSE 80

touch Docker file

docker build [OPTIONS] PATH | URL | -
 --force-rm=false
 --no-cache=false
 --pull=false
 -q,--quiet=false
 --rm=true
 -t,--tag=""
docker build -t='xiexianbin/nginx' .