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,就是中间层的文件层