docker镜像与仓库

1、docker image 镜像

容器的基石

层叠的只读文件系统

联合加载(union mount)

2、镜像存储地址

/var/lib/docker

3、镜像操作

列出镜像

镜像标签和仓库

查看镜像

删除镜像

1)列出镜像

$docker images [OPTSIONS] [REPOSITORY]

-a, --all=false 显示所有镜像

-f, --filter=[] 显示时的过滤条件

--no-trunc = false 不使用截断的模式显示数据

-q, --quiet = false 只现实veid

[[email protected] ~]# docker images

REPOSITORY          TAG              IMAGE ID           CREATED           VIRTUAL SIZE

centos         latest              eeb3a076a0be        10 hours ago         196.7 MB

ubuntu               latest              ab035c88d533        2 weeks ago          187.9 MB

2)镜像仓库和标签

镜像

REPOSITORY 仓库(包含一个一个独立的镜像)

REGISTRY 仓库

标签

TAG

ubuntu:14:04

ubuntu:latest(如果镜像没有标签名,默认使用latest)

3)查看镜像

$docker inspect [OPTIONS] CONTAINER | IMAGE [CONTAINER | IMAGE…]

-f, --format = “”

[[email protected] ~]# docker inspect centos

4)删除镜像

$docker rmi [OPTIONS] IMAGE [IMAGE…]

-f,  --format = false Force removal of the image

—no-prune = false Donot delete untagged parents

[[email protected] ~]# docker rmi $(docker images -q ubuntu) 删除所有ubuntu镜像

获取和推送镜像

查找镜像

拉取镜像

推送镜像

1)查找镜像

方法一:Docker Hub

https://registry.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个结果

2)拉取镜像

方法一:$docker pull [OPTIONS] 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"

https://www.daocloud.io

3)推送镜像

$docker push NAME [:TAG]

docker push dormancypress/nginx

构建镜像

$docker commit 通过容器构建镜像

$docker build 通过Dockerfile文件构建

1)使用commit构建镜像

$docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

-a, —author = “” Author

e.g.,”John Hannibal Smith [email protected]”

-m, —message = “” Commit message

-p, —pause = true Pause container during commit

例:

[[email protected] ~]# docker commit -a ‘Tale‘ -m ‘nginx‘ commit_test dormancypress/commit_test1 构造镜像

84daaea3c4fa276f777af22efaeadc65490124dc356c5219d5e7cf57554ad49a

[[email protected] ~]# docker run -d -p 80 --name nginx_web1 dormancypress/commit_test1 nginx -g "daemon off;” 用构造的镜像生成容器

e887d27c3cd3ea342de3b21e4c233a14bfdb80675644e15de87967651c05c4e6

2)使用Dockerfile构建镜像

1、创建Dockerfile

例:

#First dockerfile for test

FROM ubuntu

MAINTAINER dormancypress "[email protected]"

RUN apt-get update

RUN apt-get -y install nginx

EXPOSE 80

2、使用$docker build命令

$ docker build -t="dormanctpress/df_test” .

时间: 2024-12-22 02:37:10

docker镜像与仓库的相关文章

第四章 使用Docker镜像和仓库

第4章 使用Docker镜像和仓库 回顾: 回顾如何使用 docker run 创建最基本的容器 $sudo docker run -i -t --name another_container_mum ubuntu /bin/bash [email protected]:/# 这条命令会启动一个新的名为 another_container_mum 的容器,这个容器基于ubuntu镜 像并且会启动Bash Shell ----------------------------------------

Docker镜像与仓库(二)Dockerfile

Docker镜像文件与仓库(二) Docker镜像文件与仓库(二) Dockerfile指令 Dockerfile格式: 1.#Comment注释2.INSTRUCTION大写的指令名 argument参数 FROM 1.FROM <image>2.FROM <image>:<tag>3.#通过FROM指定的镜像名都必须是已经存在的镜像,这个镜像叫做基础镜像,而且必须是第一条非注释指令 MAINTAINER 1.MAINTAINER <name>2.#指定镜

《第一本docker书》第4章 使用docker镜像和仓库 读书笔记

docker最底端是一个引导文件系统,即bootfs. 第二层是root文件系统rootfs,位于引导文件系统之上. 在传统的Linux引导过程中,root文件系统会最先以只读的方式加载,当引导结束并完成了完整性检查之后,它才会被切换为读写模式.但是在docker里,root文件系统永远只能是只读状态,并且docker利用联合加载技术又会在root文件系统层上加载更多的只读文件系统.联合加载指的是一次同时加载多个文件系统,但是在外面看起来只能看到一个文件系统.联合加载将各层文件系统叠加到一起,这

Docker镜像与仓库(四)

Dockerfile方式创建镜像 https://hub.docker.com/_/centos/ #找一个centos6.6 的dockerfile链接 [[email protected] ~]# wget https://github.com/CentOS/sig-cloud-instance-images/blob/8911843d9a6cc71aadd81e491f94618aded94f30/docker/Dockerfile [[email protected]-node1 ~]#

Docker基本命令与使用 —— Docker镜像与仓库(二)

一.查看和删除镜像 1.Docker Image 镜像 容器的基石 层叠的只读文件系统 联合加载(union mount) (存储位置 /var/lib/docker) docker info 2.列出镜像 docker images [OPTIONS] [REPOSITORY] -a,--all=false 默认并不显示中间层镜像 -f,--filter=[] 过滤条件 -no-trunc=false 不以截断的形式显示数据(镜像的唯一Id) -q,--quiet=false 只显示镜像的唯一

构建Docker镜像仓库的另一选择:Nexus3 - DockOne.io

我们知道,构建企业内部私有Docker镜像仓库有很多选择,比如可以采用原生的Docker Registry服务,也可以部署更加专业的工具,例如SUSE team的Portus (https://github.com/SUSE/Portus)或VMware出品的Harbor(https://github.com/vmware/harbor).我们也就曾对Harbor这样的产品做过较为详细的分析(http://mp.weixin.qq.com/s/oQoLgNgnfM8TQHnDDOOIog).然而

Docker学习笔记(6-1)Docker镜像与Docker仓库

学习目标: 列出镜像 docker images 删除镜像 docker rmi docker镜像:联合加载技术aufs实现的层叠的只读文件系统 1.#使用docker info查看存储驱动和存储位置 存储位置:/var/lib/docker sudo ls -ls /var/docker/aufs diff layers mnt sudo ls -ls /var/docker/aufs/mnt 很多的镜像 2.列出镜像docker images -a 显示所有镜像(包括中间镜像) -f  过滤

Docker 镜像及Docker仓库配置 [四]

Docker 镜像及Docker仓库配置 [四] Docker 时间:2016年11月8日15:45:20 一.Docker 镜像介绍 Docker镜像构建分为两种,一种是手动构建,另一种是Dockerfile(自动构建) Docker镜像手动构建案例: 我们基于centos镜像进行构建,制作nginx镜像 [[email protected] ~]# docker run --name abcdocker -it centos[[email protected] /]# yum install

巧用Docker镜像仓库Harbor部署私有Mirror服务

本文作者付广平,UnitedStack有云存储工程师,北京邮电大学硕士,从事大数据和云计算相关工作,2016年毕业后加入UnitedStack大数据&容器组,负责Docker.Magnum和Sahara相关工作,Openstack.Docker社区活跃者. 作者别出心裁地使用Harbor搭建了私有Mirror服务,加速外部Docker镜像的下载.编者对原文做了少量修改. Harbor是VMware公司最近开源的企业级Docker Registry项目(https://github.com/vmw