docker入门

0x01 Docker的基本组成

  1. Docker Client 客户端:C/S架构,client发起请求,守护进程进行响应
  2. Docker Daemon 守护进程:相当于服务器
  3. Docker Image 镜像:容器的基石,层叠的只读文件系统,联合加载(bootfs,rootfs,addemacs,add Apache)
    1. 联合加载可以加载多种文件系统,但最终结果是对外只显示一个文件系统。
  4. Docker Container 容器:通过镜像启动,启动和执行阶段,在最上面加载一个可写的读写文件系统,它下面的文件系统都说只读
  5. Docker Registry 仓库:保存镜像,公有仓库:Docker Hub

 

0x02 docker容器相关技术

       Namespaces:命名空间

  1. 提供系统资源的隔离:
    1. PID:进程隔离
    2. NET:管理网络接口
    3. IPC:管理跨进程通信访问
    4. MNT:管理挂载点
    5. 隔离内核和版本标识

       Control groups:控制组

  1. 限制记录隔离进程所使用的物理资源的机制:
    1. 资源限制
    2. 优先级设定
    3. 资源计量
    4. 资源控制
  2. Docker容器能力:
    1. 文件系统隔离:每个容器都有自己的root文件系统
    2. 进程隔离:每个容器都运行在自己的进程环境中
    3. 网络隔离:容器间的虚拟网络接口和IP地址都是分开的
    4. 资源隔离和分组:使用cgroups将CPU和内存之类的资源独立分配给每个Docker容器。
  3. Docker安装关键:添加可用源地址:echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable" | sudo tee /etc/apt/sources.list.d/docker.list
  4. Centos7安装docker:
    1. yum install -y yum-utils  device-mapper-persistent-data lvm2
    2. yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    3. yum-config-manager --enable docker-ce-edge
    4. yum-config-manager --enable docker-ce-test
    5. yum install docker-ce
  5. 配置国内镜像加速:

docker入门_第1张图片

6、容器的基本操作:

  1. 查看docker版本:docker入门_第2张图片

  2. 查看docker信息:docker入门_第3张图片

  3. 镜像命令:

    Docker images命令:显示本地主机上的镜像docker入门_第4张图片

  4. -a:列出所有镜像

           -q:只显示镜像id

           --digests:显示镜像的摘要信息

           --no-trunc:显示完整的镜像信息

     

     

    Docker search命令:docker入门_第5张图片

  5. Docker pull命令:下载镜像docker入门_第6张图片docker入门_第7张图片

  6. Docker rmi命令:删除命令docker入门_第8张图片

  7. 容器命令:

    新建并启动容器:docker rundocker入门_第9张图片

  8. 列出全部容器:docker ps

  9. 删除容器:

  10. 停止容器:docker stop

    强制停止:docker kill

    重启:docker restart

    退出容器:exit   ctrl+p+q

  11. 启动守护式容器(后台):

  12. 后台启动容器,但由于没有程序运行,docker机制自动关闭容器。

    创建一个不断运行的进程,这样docker就不会强制停止了

  13. 查看日志:docker入门_第10张图片docker入门_第11张图片

  14. 查看docker中的进程:

  15. Docker exec:在容器中执行一个命令返回结果docker入门_第12张图片

  16. Docker attach:进入容器:

  17.  docker入门_第13张图片

  18. 从容器中拷贝数据到主机:

    容器与主机建立共享文件夹:docker入门_第14张图片

  19. 自建dockerfile文件:docker入门_第15张图片

    踩坑:ENV 定义时不能取名 PATH,否则会修改系统变量,导致系统命令无法运行

           导入dockerfile时命令:docker build -f  /root/Dockerfile -t docfiletest4:2.2  .  最后记得加个点

你可能感兴趣的:(乱七八糟的知识)