Docker入门教程 - 图1

    1. sudo mkdir -p /etc/docker
    2. sudo tee /etc/docker/daemon.json <<-'EOF'
    3. {
    4. "registry-mirrors": ["https://7a3775j5.mirror.aliyuncs.com"]
    5. }
    6. EOF
    7. sudo systemctl daemon-reload
    8. sudo systemctl restart docker
    • 演示样例:
      用docker搭建一个nginx容器,并对外发布一个网站

    • 下载镜像:
      docker pull nginx

    • 启动容器:
      docker run -p 8080:80 —name aaa -it nginx /bin/bash
      ,命令格式:-p 8080:80:宿主机端口:容器端口

    • 停止容器:
      docker stop 容器名

    • 删除容器
      docker rm 容器名

    • 进入正在运行中的容器
      docker exec -it /bin/bash

    • 将主机目录拷贝到容器目录(上传网站代码)
      docker cp 主机目录 容器id:容器目录路径
      docker cp ./www/ 4fd5407c9706:usr/share/nginx/html

    • 访问网站:
      ip:8080

    • docker需要了解的

    docker的本质是宿主机上的进程
    通namespace实现资源隔离,通过cgroups实现资源限制,通过写时复制机制(copy-on-write)实现高效文件操作
    namespaces 充当隔离的第一级,是对 Docker 容器进行隔离,让容器拥有独立的 hostname,ip,pid,同时确保一个容器中运行一个进程而且不能看到或影响容器外的其它进程
    Cgroups 是容器对使用的宿主机资源进行核算并限制的关键功能。
    比如 CPU, 内存, 磁盘等,union FS 主要是对镜像也就是 image 这一块作支持,采用 copy-on-write 技术,让大家可以 共用某一层,对于某些差异层的话就可以在差异的内存存储。
    docker使用了传统的client-server架构

    Docker入门教程 - 图2