Docker基础学习(四)-Docker镜像与仓库

一,查看和删除镜像

1,列出docker镜像

$ docker images [OPTSIONS] [REPOSITORY]

-a,--all=false  //显示所有镜像,默认是不显示中间层镜像

-f,--filter=[]     //过滤条件

--no-trunc=false  //指定是否截断镜像id

-q,-quiet=false  //只显示镜像的唯一id

例如:

 

2,查看镜像的详细信息

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

-f,--format=""

例如:

 

3,删除镜像

$ docker rmi [OPTIONS] IMAGE [IMAGE...]

-f,-force=false Force removal of the image  //强制删除镜像

-no-prune=false Donot delete untagged parents //会保留被删除中未打标签的父镜像

例如:

1,指定镜像名和标签删除

 

2,指定镜像id删除

3,删除多个镜像

4,删除指定所有镜像

 

二,获取和推送镜像

1,查找镜像,以下查找镜像的两种方式

(1)通过Docker Hub的官方网站,https://hub.docker.com/,访问网站进行注册登录即可 查找镜像

 

(2)通过docker命令查找

$ docker search [OPTIONS] TERM

--automated=false Only show sutomated builds  //只会显示自动化构建的镜像

--no-trunc=false Don't truncate output //是否以截断的方式显示输出

-s,--stars=0 Only displays with at least x stars  //限制显示结果的最低星级

最多返回25个结果

例如:

1,查找ubuntu的镜像

2,加上星级过滤

 

 

2,拉取镜像,通过docker pull命令

$ docker pull [OPTIONS] NAME [:TAG]

-a,-all-tags=false //下载所有匹配到名字的镜像

 

为提高docker镜像下载效率,可以使用国内的网站DaoCloud:https://www.daocloud.io

 

注册登录DaoCloud网站,获取http://a03c66e5.m.daocloud.io地址,配置仓库镜像地址

使用--registry-mirror选项

添加:DOCKER_OPTS="-registry-mirror=加速地址"依次执行:

docker-machine ssh default 
sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=http://a03c66e5.m.daocloud.io |g" /var/lib/boot2docker/profile
exit 
docker-machine restart default

 

这样重启Docker后就可以用国内的镜像来加速下载了。

 

 

3,推送镜像

$ docker push NAME[:TAG]

 

 

三,构建镜像

作用:

(1)保存对容器的修改,并再次使用

(2)提高自定义镜像的能力,我们可以软件的形式打包并分发服务及其环境

 

容器构建的过程:

1)从基础镜像运行一个容器;

2)执行一条指令,对容器做出修改;

3)执行类似dockercommit的操作,提交一个新的镜像层;

4)再基于刚提交的镜像运行一个新的容器;

5)执行Dockerfile中的下一条指令,直至所有指令执行完毕

 

构建镜像的两种方式:

(1)$ docker commit 通过容器构建

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

-a,--author="" //指定作者,可以填写作者名字以及联系方式

-m,--message=""   //记录镜像构建的信息

-p,pause=true  //可以指示不暂停正在执行的容器

例如:

创建容器,$ docker run -it -p 80 --name commit_test ubuntu /bin/bash

修改容器,apt-get udapte , apt-get install -y nginx

提交容器为本地镜像,$docker commit -a "kongmohan" -m "Nginx" commit_test kongmohan/commit_test

运行kongmohan/commit_test,$ docker run -d -p 80 --name nginx_web  kongmohan/commit_test nginx -g "daemon off;"

 

 

(2)$ docker build 通过Dockerfile文件构建

$ docker build [OPTINS] PATH|URL

--force-rm=false

--no-cache=false

--pull=false

-q,--quiet=false

--rm=true

-t,--tag=""

创建第一个Dockerfile文件,

#First Dockerfile
FROM ubuntu:14.04
MAINTAINER kongmohan "1019795824@qq.com"
RUN apt-get update
RUN apt-get install -y nginx
EXPOSE 80

 

先创建文件目录:mkdir -p dockerfile/df_test1

编辑保存Dockerfile:vim DockerFile

利用DockerFile构建镜像,命令:$ docker build -t="kongmohan/df_test1" .

运行kongmohan/df_test1 ,$ docker run -d -p 80 --name df_web  kongmohan/df_test1 nginx -g "daemon off;"

 

 

备注:

去除缓存构建,构建的时候,加上--no-cache即可

命令:$ docker build -t="kongmohan/df_test1" .  --no-cache

查看镜像构建的过程:$ docker history  df_test1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值