设为首页 收藏本站
查看: 918|回复: 0

[经验分享] docker仓库配置及镜像、容器简单操作

[复制链接]

尚未签到

发表于 2019-2-21 06:45:54 | 显示全部楼层 |阅读模式
  一)镜像仓库配置
  docker官方提供仓库(Docker Hub),其上面有大量的高质量的可用镜像。安装之后,默认就使用的官方默认仓库,因此可以直接从上面获取镜像使用。但默认情况下其是从官方的library/下获取,如果我们想将自己定制的镜像上传至仓库,则我们必须先注册自己的仓库空间。由于众所周知的原因,我们访问外网有一些限制,比如这里就无法直接注册docker官方账号。

  不过不用担心,国内许多大型云服务商提供针对Docker Hub的镜像加速服务,即可以从国内直接下载Docker Hub上的镜像,比如阿里云、网易云等。
  这里以阿里云加速器为例,具体配置方法如下:
  对于使用 systemd 的系统,比如centos7.x系列系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
  {
  "registry-mirrors": [
  "https://lfxql9az.mirror.aliyuncs.com"
  ]
  }
  然后重新启动服务:
  #systemctl daemon-reload
  #systemctl restart dock
  注:
  1. 查看阿里云加速器地址,我们需注册阿里云服务,注册时会选择地区,这个加速器因选择的地区不同而不同。
  2. 阿里云注册地址:https://cr.console.aliyun.com/
  例如,下图是我注册后的截图,该页也有配置加速器教程:
  
  二)镜像操作
  从镜像仓库获取镜像的命令是docker pull,其语法格式是:

  # docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
  1)镜像获取
  a. 如上配置好镜像加速器后,如果想从官方直接拉取镜像,命令如下

  # docker pull 仓库名[:标签]        //如果只有仓库名,默认拉取latest标签的镜像,也可添加标签拉取特定版本的镜像

  b. 如果想拉取自己私有仓库的镜像,则需使用完整的语法格式。如下我在阿里云上建了自己的仓库,并且上传了自己的镜像,如果我想使用,则需运行如下命令:
  # docker pull registry.cn-hangzhou.aliyuncs.com/命名空间/仓库名[:标签]
  注:
  1. 只要你注册了阿里云服务,并建立了自己的镜像仓库,那么点击仓库操作列的【管理】按钮会打开该仓库的详细信息页,在该页有详细的操作指南指导你如何使用该仓库:推送镜像至仓库、从仓库拉取镜像、重命名镜像等!!!
  2. 拉取个人镜像(如果不是设置为私有)不需要登录,推送镜像到个人仓库则需要登录:
  # docker login --username=xxx registry.cn-hangzhou.aliyuncs.com
  2)常用镜像操作命令
  a. 列出主机本地镜像: # docker image ls

  b. 删除主机本地镜像: # docker image rm xxx

  c. 查看容器与镜像差异: # docker diff containerName

  d. 利用commit定制镜像:# docker commit [选项]  [[:]]        //一般不用这种方式,因为会使容器变得非常臃肿,现在一般使用Dockerfile文件来动态定制镜像
  commit常见选项: --author(指定修改的作者), --message(记录本次修改的内容)

  e. 查看镜像修改历史: # docker history imageName

  三)容器操作
  a. 运行镜像实例化容器: 有两种方式

  a.1 基于镜像新建一个容器并启动

  # docker run [选项] imageID [bash/sh...]
  eg. docker run -it XXXX bash        //启动xxxx并赋予一个基于bash的命令行终端

  常见选项参数有: -i, -t, --mount, -d等

  -t  //让docker分配一个伪终端并绑定到标准输入上

  -i  //让容器的标准输入保持打开

  -d  //后台启动容器

  --mount  //设置数据卷或共享宿主机文件夹

  a.2 重新启动处于停止状态的容器

  # docker container start containerID

  b. 容器查看

  # docker container ls [-a]   //不加-a仅可查看运行状态下的container,加上-a可查看运行及停止状态的container

  c. 进入容器

  如果是-d后台启动或者是start启动的容器,要进入容器需使用如下命令:

  # docker exec [选项] imageID [bash/sh...]
  常用选项参数:-i, -t

  d. 停止容器

  # docker container stop containerID
  e. 重启容器

  # docker container restart containerID
  f. 删除容器

  # docker container rm containerID  //删除特定的某个停止状态的容器
  # docker container prune   //删除所有停止状态的容器





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-675000-1-1.html 上篇帖子: 『中级篇』Docker 水平扩展和负载均衡(40) 下篇帖子: 修改Docker0网桥默认网段
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表