Docker学习笔记

作者: KevinLive | 来源:发表于2017-04-28 16:20 被阅读1290次

原文地址:LoveDev

Docker相对于传统意义上的虚拟机最大的区别就在于传统虚拟机是虚拟出一套硬件后,再在上面运行一个完整的操作系统,再把需要运行的应用装在操作系统中运行。Docker在宿主的内核中运行应用进程,没有自己的内核,没有虚拟硬件,比起传统虚拟机更加轻快。

Docker基本概念

  • 镜像:操作系统
  • 容器:容器是独立运行的一个或一组应用,以及它们的运行态环境,镜像和容器的关系就像是面向对象中的实例
  • 仓库:镜像需要存储和分发,仓库用来存储镜像

Docker Registry

一个Docker Registry中可以包含多个仓库

Docker Hub

最常使用的 Registry 公开服务是官方的 Docker Hub,这也是默认的 Registry。

Docker Registry 公开服务

国内访问Registry 公开服务会有些慢(原因你懂得),国内云服务商提供了针对 Docker Hub 的镜像服务(Registry Mirror),这些镜像服务被称为加速器,常见的有 阿里云加速器DaoCloud 加速器灵雀云加速器等。

配置如下:


常见问题

无法删除一

Error response from daemon: conflict: unable to delete e4b9e4f71238 (must be forced) - image is being used by stopped container 1e359ad4363d

该容器是终止状态,需要将此容器从终止状态删除,然后再删除镜像

$ docker rm 1e359ad4363d    # 删除终止容器
$ docker rmi e4b9e4f71238   # 删除镜像

无法删除二

Error response from daemon: conflict: unable to delete 1dc4f730b414 (cannot be forced) - image has dependent child images

先删除依赖,如果 IMAGE ID 相同的话,根据 TAG 删除

$ docker rm REPOSITORY:TAG    # 根据TAG删除容器

语法错误

Error response from daemon: Unknown instruction: RUNCMD

can't initialize iptables

can't initialize iptables table `filter': Permission denied (you must be root)

启动容器时加入参数 --privileged=true

相关文章

网友评论

  • 蒋飞落2017:刚好在学习docker,就遇到了这篇文章。非常及时地帮助读者了解了入门概念,谢谢LZ。
    cf6d95617c55:@蒋飞落2017 我也刚开始接触,有什么好的建议:smile:
    KevinLive:@低调_9626 :smile: 多多交流

本文标题:Docker学习笔记

本文链接:https://www.haomeiwen.com/subject/fmcazttx.html