实时搜索: docker 镜像在哪

docker 镜像在哪

618条评论 6239人喜欢 2345次阅读 682人点赞
本人刚学docker,有些疑问。我用 docker search centos 搜索出来的官方centos是最新版的centos么?为什么没有centos的版本号?如果我需要centos6应该如何搜索?
我看了许多文档说docker是运行在物理机上的Linux内核之上,镜像本身没有内核,那么我在centos7上安装的docker,使用centos6的镜像运行,按道理来讲6的镜像会运行在7的内核之上,他们俩内核不一样,如何做到兼容的呢? ...

如何修改 Docker 的镜像存储位置: 方案1, 使用参数-g 来修改 Docker 的镜像存储文件夹.
修改方法如下:
在 Ubuntu/Debian 系统下:
编辑 /etc/default/docker 文件, 添加-g 参数的设置, 如下:

DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"
在 Fedora/Centos 系统下:

编辑 /etc/sysconfig/docker 文件, 添加-g 参数的设置, 如下:

other_args="-g /mnt"
重启 Docker 服务, 问题就解决了.

删除Docker Registry里的镜像怎么那么难: 一般很少有人删除,都是commit push 覆盖原来的镜像。如果实在强迫症,就的到registry宿主机,删除image_id的文件。

如何查看私有仓库中有哪些镜像: 将ubuntupush到私有registrydockerpushrd-server:5000/ubuntu如何将ubuntu的所有分支都镜像到自己的私有仓库?1.先打TAG,把需要的版本打上标签,然后进行推送语句大概是这个样子的:dockertageb601b8965b8rd-server:5000/ubuntu:raringdockertageb601b8965b8rd-server:5000/ubuntu:13.04dockertag9f676bd305a4rd-server:5000/ubuntu:saucydockertag9f676bd305a4rd-server:5000/ubuntu:13.10dockertag9cd978db300erd-server:5000/ubuntu:precisedockertag9cd978db300erd-server:5000/ubuntu:latestdockertag9cd978db300erd-server:5000/ubuntu:12.04dockertag9cc9ea5ea540rd-server:5000/ubuntu:luciddockertag9cc9ea5ea540rd-server:5000/ubuntu:10.04dockertag5ac751e8d623rd-server:5000/ubuntu:quantaldockertag5ac751e8d623rd-server:5000/ubuntu:12.10开始推送dockerpushrd-server:5000/ubuntu如果返回的内容的最后一行是下面这个样子的2014/03/1408:22:14push:}请反复执行,没错,不要怀疑,请循环一直反复执行下去dockerpullrd-server:5000/ubuntu直到不再出现push:}的字样不知道这是docker的BUG还是本身设计是这样的,需要反复多次push才能将完整的tag推送到privateregistry里,否则在客户端下载的时候总会提示某些image找不到,个人猜测可能是这么设计的,因为dockerimage比较大,而一个repo会有很多的块文件,每次push的时候只Push一个块,好了,猜测就道这,活还是得干,所以,写个脚本解决手工的问题吧。#!/bin/sh##Copyright(c)2014ZhengXujinxujinzheng@gmail.com#server="127.0.0.1:5000"index_repo_name="username/ubuntu"private_repo_name="ubuntu"echo"\n"echo"##."echo"######=="echo"########==="echo"/""""""""""""""""\___/==="echo"~~~{~~~~~~~~~~~~~~~~/===-~~~"echo"\______o__/"echo"\\__/"echo"\____\______/"echo"\n"idx=0is_continue=1dockerimages|grep-q"$server/$private_repo_name"if[[$?-ne0]];thendockerimages|grep$index_repo_name|awk-F""'{printf("dockertag%s%s/%s:%s\n",$3,"'$server'","'$private_repo_name'",$2)}'|bashfiwhile[$is_continue-eq1]dodockerpush$server/$private_repo_nameis_continue=$?letidx=$idx+1echo"$(tputsetaf1)continuepush,$idxtimespushed.$(tputsgr0)"done

docker镜像版本问题: docker search centos
并没有加版本号,默认使用latest,等价于
docker search centos:latest
如果希望安装centos6,键入以下命令
docker pull centos:6
centos6和7都是继承CentOS Base Image的镜像,CentOS Base Image里面会调用你的centos里面的一些命令。
希望可以帮到你。

docker中有哪些snmpd镜像是好用的?: [root@k8s-master home]# docker search snmpd
INDEX       NAME                                     DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/monitoringartist/zabbix-xxl    Zabbix 3.x - server, web, proxy, java gate...   71                   [OK]
docker.io   docker.io/monitoringartist/dockbix-xxl   Zabbix 3.4 - server, web, proxy, java gate...   18                   [OK]
docker.io   docker.io/polinux/snmpd                  SNMP command-like ready (CentOS-7)              7                    [OK]
docker.io   docker.io/really/snmpd                   Tiny net-snmp daemon - snmpd - for situati...   2                    [OK]
docker.io   docker.io/popov1024/snmpd                snmpd on alpine                                 1                    [OK]
docker.io   docker.io/alogoc/snmpd                                                                   0                    
docker.io   docker.io/ascdc/snmpd                    snmpd                                           0                    [OK]
docker.io   docker.io/benwu1126/snmpd                                                                0                    
docker.io   docker.io/benwu1126/snmpd-2                                                              0                    
docker.io   docker.io/chakrinelluri/snmpd                                                            0                    
docker.io   docker.io/crazymax/snmpd                 SNMP daemon image based on Alpine Linux         0                    
docker.io   docker.io/digiwhite/snmpd                snmpd for CoreOS                                0                    [OK]
docker.io   docker.io/dvegchel/snmpd                 SNMPD Daemon for OpenShift                      0                    [OK]
docker.io   docker.io/fbgoncalves/snmpd              snmpd container                                 0                    [OK]
docker.io   docker.io/fbgoncalves/snmpd-image                                                        0                    
docker.io   docker.io/hopitio/snmpd                                                                  0                    
docker.io   docker.io/jsnet/snmpd                                                                    0                    
docker.io   docker.io/kingdonb/snmpd                 snmpd on ubuntu:vivid                           0                    
docker.io   docker.io/kyos0109/snmpd-distroless      snmpd 5.7.3 base distroless                     0                    [OK]
docker.io   docker.io/kyos0109/snmpd-docker-slim     snmpd 5.7.3 base distroless rebuild docker...   0                    
docker.io   docker.io/logicmonitor/snmpd             Modified net-snmp daemon version 5.7.3 for...   0                    [OK]
docker.io   docker.io/mrlyc/snmpd                    snmpd alpine                                    0                    [OK]
docker.io   docker.io/nathanknz/snmpd                Simple snmpd installation based on alpine.      0                    [OK]
docker.io   docker.io/openswitch/snmpd                                                               0                    
docker.io   docker.io/tolchz/snmpd                                                                   0

可以使用docker search 搜索镜像源,要是官方镜像仓库没有找到合适的可以去国内阿里云,网易蜂巢,清华大学等开源镜像平台查看,网页链接

Docker如何创建镜像?怎么修改,上传镜像: 初次安装部署好docker后,大多数镜像可以从DockerHub 提取,但是大多数人都希望自己可以完全自定义一个镜像,那么这里需要一个第三方工具 febootstrap

如何用Docker创建支持ssh服务的容器和镜像: 1. 这里使用的centos作为容器,所以首先下载centos的images

[plain] view plain copy
# sudo docker pull centos

2. 下载后运行一个centos的容器,这里使用centos6作为我测试的容器

[plain] view plain copy
# sudo docker run --name=centos-ssh -i -t centos:centos6 /bin/bash

3. 安装openssh-server服务软件包

[plain] view plain copy
# yum install openssh-server

4. 编辑sshd的配置文件/etc/ssh/sshd_config,将其中UsePAM参数设置成逗no地
5. 启动sshd服务

[plain] view plain copy
# /etc/init.d/sshd start

6. 添加测试用户admin,密码admin

[plain] view plain copy
# useradd admin
# echo 'admin:admin' | chpasswd

7. 为了使新添加的用户可以运行sudo命令,需要安装sudo软件包,并将admin添加到sudoers里

[plain] view plain copy
# yum install sudo <--安装sudo软件包
# visudo <--编辑sudoers,添加下面的行到文件里

admin ALL=(ALL) ALL
8. 测试,做完上面工作之后,使用ifconfig来查看一下容器的ip,或者使用逗sudo docker inspect 地查看,然后就可以在宿主机器上通过ssh admin@<ip>来访问新创建的docker容器了。

9. 如果想要把做好的支持ssh服务的容器作为一个docker的镜像,先退出容器,然后使用下面的命令来创建

[plain] view plain copy
# sudo docker commit <container id> <image name>

如何转移 docker 镜像: 安装docker时,默认的安装位置是/var/lib/docker。
$sudo ls /var/lib/docker/
aufs containers graph init linkgraph.db repositories-aufstmp trust volumes

repositories-aufs:记录了镜像名称以及对应的Id的json文件
graph:保存的是下载镜像的元数据,包括json和layersize,其中json文件记录了相应的image id、依赖关系、创建时间和配置信息等。layersize为对应层的大小。进入graph文件会发现下面包含着多个文件夹,进入其中一个文件夹
root:/var/lib/docker/graph#cd 09694f91574ea3fca8558306c55abbbd47e01b8cb9ae782c66b9682a95c7f71e/
root:/var/lib/docker/graph/09694f91574ea3fca8558306c55abbbd47e01b8cb9ae782c66b9682a95c7f71e#ls
json layersize
可以看到json和layersize文件。
json文件内容中layersize可能显示为0,这一层为0,不表示镜像大小就是0。Graph存储镜像时,是分层存储的,graph目录下多出的文件夹其实都对应一个layer。这些layer都与我们的镜像名命名的layer有关联,关系就记录在json文件中。 从这个json文件中,可以看到起父镜像或者上一层镜像就是……,graph目录下也存储着这一层的信息,再往下看,可以看到层次关系。在graph这个目录里并没有找到我们想找到的镜像内容存放地。graph目录下只是一些镜像相关的信息数据。image应该包含一个类似linux的文件系统才对。
containers:这个下面记录的是容器相关的信息,每运行一个容器,就在这个目录下面生成一个容器Id对应的子目录。
init:保存的是docker init相关的信息。
tmp:是一个空目录,具体起什么作用还不清楚。
volumes:与docker的数据券相关。
aufs目录:mnt是aufs的挂载目录,diff是实际数据来源,也就是我们image实际存储的地方,包括只读层和可读写层,所有这些层最终都一起挂载到mmt所在的目录。layers下为每层依赖有关的描述文件。
在diff、mnt、layers下面有6个文件或子目录,但是从graph目录下看我们的image应该是4层,为什么会多出来2个呢。仔细观察多出来的来个文件或者子目录,会发现其名称和容器Id一致,且有一个包含init。其实,在容器启动之前,mnt和layers都是空目录,diff下面也只有graph目录下我们看到的镜像层对应的4个目录。在Docker利用image启动一个容器时,会在aufs下新建容器id对应的文件和子目录,同时在镜像的可读层执行新建一个可读写的layer。至于id-init文件或者子目录记录的都是与容器内环境相关的信息,与镜像无关。
既然我们现在已经知道了镜像实际是存储在diff目录下的,那么我们就看看diff目录下各个子目录中的内容。依照镜像的层次关系查看。最终我们看到linux一样的文件系统。已表示image确实是存储在diff目录下的。
综上,docker image最终是存储在在/var/lib/docker/aufs/diff中的,同时在graph中有有关进行的记录。在容器启动时,diff下的可读层image和新增的可读写层“容器Id”都将挂载到mmt目录下以容器id命名的子目录下。

  • 身上皮肤白斑怎么回事

    京东商城物品的网址怎样复制?: 首先用手机打开京东首页,找到想要复制的物品,然后上方的箭头标志即可复制。下面介绍具体操作方法:1、首先用手机打开京东首页,然后找到想要复制的物品。2、找到想要复制的物品后,打开物品主页,然后点击页面上方的箭头标志。3...

    512条评论 4095人喜欢 4175次阅读 594人点赞
  • pcb的库在哪里

    京东怎样屏蔽卖家: 京东是不行的【似乎,只有淘宝才可以吧 ...

    426条评论 3984人喜欢 2705次阅读 840人点赞
  • 云浮房价多少

    现在京东支付那些银行卡有优惠,怎么查: 你好,现在光大、北京农商、浦发的信用卡支付和浦发、中行的借记卡支付是有优惠的,具体的可以上京东官网上查看:https://sale.jd.com/act/GtCKokfci8a2.html ...

    737条评论 2552人喜欢 6538次阅读 385人点赞
  • ps4 cod4多久通关

    魅蓝note5忘记了锁屏密码和flyme账号密码: 魅蓝帐号锁刷机没用的我是维修手机的来我这里帮你解? ...

    629条评论 1325人喜欢 2752次阅读 694人点赞
  • ps4日版为什么

    求一个武装突袭3的荒野求生(wasteland)地图。模组。pbo: 就是一口井正解,最初始来自dayz,dayz是武装突袭2的一个模组,游戏就是无尽的生存,在废墟寻找食物水武器生存下去,然后出了独立版的dayz,叫僵尸战争,The warz ...

    870条评论 2122人喜欢 3974次阅读 215人点赞
  • 180和181号哪个好

    正在验证FLYME账号 手机不知道怎么锁上了 密码对的 就是 一直 正在验证FLYME账号: 关机 按住音量键上+电源键开机 开机有个机器人的图像 按home键(像房子)选择wipe data factory reset 按菜单键 恢复出厂设置 然后选择reboot aystem now 按菜单键重新启动 这...

    318条评论 6324人喜欢 4259次阅读 959人点赞