Docker Image 镜像
容器的基石
层叠的只读文件
联合加载 (Union mount)
文件位置: /var/lib/docker
- youdi# tree -L 1
- .
- aufs
- builder
- containers
- image
- network
- plugins
- swarm
- tmp
- trust
- volumes
查看和删除镜像
- docker images [options] [repository]
- -a --all=false
- -f --filter=[]
- -q --quiet=false
- ubuntu@youdi /var/lib/docker docker images
- REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 18.04 452a96d81c30 2 weeks ago 79.6MB
ubuntu latest 452a96d81c30 2 weeks ago 79.6MB
nginx v3 c196b5cc8d92 6 months ago 108MB
youdi-nginx-image latest 78cf8a11778f 7 months ago 108MB
nginx latest da5939581ac8 8 months ago 108MB
training/webapp latest 6fae60ef3446 2 years ago 349MB
REPOSITORY 仓库
一系列镜像的集合
REGISTRY. 仓库 镜像的存储
TAG 标签 默认 lastest
- ubuntu@youdi /var/lib/docker docker images --no-trunc
- REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 18.04 sha256:452a96d81c30a1e426bc250428263ac9ca3f47c9bf086f876d11cb39cf57aeec 2 weeks ago 79.6MB
ubuntu latest sha256:452a96d81c30a1e426bc250428263ac9ca3f47c9bf086f876d11cb39cf57aeec 2 weeks ago 79.6MB
nginx v3 sha256:c196b5cc8d925054d8ccf338e6ac7ae682af77c364d78d62eaaa353edf69e470 6 months ago 108MB
youdi-nginx-image latest sha256:78cf8a11778f4b8bdb5dd9fbb92d621854efdf37fcb9ea246c888c7d77fc463e 7 months ago 108MB
nginx latest sha256:da5939581ac835614e3cf6c765e7489e6d0fc602a44e98c07013f1c938f49675 8 months ago 108MB
training/webapp latest sha256:6fae60ef344644649a39240b94d73b8ba9c67f898ede85cf8e947a887b3e6557 2 years ago 349MB
- docker images -a
- docker images -q
- docker images ubuntu
查看镜像的详细信息
docker inspect [options] container
docker inspect ubuntu:lastest
删除镜像
- docker rmi IMG
- dokcer rmi ubuntu:14.04
- docker rmi img_id
docker rmi img1 img2
docker rmi $(docker images -q) 删除所有镜像
获取和推送镜像
查找镜像
拉取镜像
推送镜像
查找镜像
- 1. docker hub
- https://registry.hub.docker.com
- 2. docker search [options] TERM
- --automathed=false only show automated builds
- --not-trunc=fasle Do not truncate output
-s, --stars=0 only displays with at least x stars
最多返回 25 个结果
docker search -s 3 django
拉取镜像
- docker pull [options] name[:tag]
- -a ,-all-tags=false Download all tagged images in the repository
- docker images -a
docker pull ubuntu:14.04 下载 5 个文件
docker images
使用 --registry-mirror 选项加速
1. 修改 /etc/default/docker
2. 添加: DOCKER_OPTS = "--registry-mirror=http://mirror-addr"
可以使用 daocloud, 阿里云都可以的
重启 docker deamon 就可以了
上传镜像
docker images
docker push youdi/nginx 只会上传修改的部分
如何构建 docker 镜像
保存对容器的修改, 并再次使用
自定义镜像的能力
以软件的形式打包并分发服务及其运行环境
docker commit 通过容器构建
docker build 通过 Dockerfile 文件构建
- docker commit
- docker commit [options] container [Repository][:tag]
- -a --author="" author
- -m --message="" commit messgae
- -p --pause=ture Pause container during commit
容器的修改保存到镜像中, 重复使用
dockerfile
包含了一系列的命令的文本文件
- vim DockerFile
- FROM ubuntu:16.04
- MAINTAINER youdi "liangchangyoujackson@gmail.com"
- RUN apt-get update
- RUN apt-get install nginx -y
- EXPOSE 80
- docker build [options] PATH | URL | -
- --force-rm=false
- --no-cache=false
- --pull=false
- --rm=true
-t, --tag=""docker build -t="youdi" .
每执行一步就会返回一个唯一 id, 就是中间层的文件层
来源: http://www.jianshu.com/p/c74ab95eca84