docker-cli(基础概念)

核心组件
  1. docker -client
  2. docker -daemon
  3. docker -image
  4. registry(仓库)
  5. docker -container(运行的程序)
参考文档(官方)

安装文档:docker-docs-install
docker-daemon配置文档:[docker-docs-config](https://docs.docker.com/config/da
emon/systemd/)
docker-registry文档:docker-registry

Config部分
  1. 修改image本地位置
    修改/etc/docker/daemon.json(注意该json需符合json规范,否则docker服务将启动错误)
    --参数data-root:具体位置
    --参数storage-driver:存储方式(具体会在下面展开)
  2. 代理,中心仓库地址修改
    因为linux下docker服务是以systemctl方式启动 可以修改启动参数
    具体配置文件夹位置:/etc/systemd/system/docker.service.d
    http代理
    创建/etc/systemd/system/docker.service.d/http-proxy.conf文件可添加http代理
    具体配置如下
    [Service]
    Environment="HTTP_PROXY=http://proxy.example.com:80/"
    https代理
    创建/etc/systemd/system/docker.service.d/https-proxy.conf文件可添加https代理
    [Service]
    Environment="HTTPS_PROXY=https://proxy.example.com:443/"
    可设置代理过滤NO_PROXY
    [Service]
    Environment="HTTP_PROXY=http://proxy.example.com:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.example.com,.corp"
    类似linux系统代理设置
    修改完后执行systemctl daemon-reload
docker-container结构
来自于CloudMan

该结构的存在使的kernel能够得以复用,从而降低了容器的成本

基础指令

由于底层是只读的,只有容器层是可定制的,所以我们的程序都是泡在最上层的

  1. docker commit (提交修改)
  2. docker pull (拉去image)
  3. docker push (推送更改)
  4. docker run (启动容器)
  5. docker stats (监控容器)
  6. docker history (显示提交历史)
  7. docker build (构建镜像生成image)
  8. docker images (镜像列表)
  9. docker attach (也可进入容器内部,不启动新进程)
  10. docker exec (进入容器内部可指定shell,启动新进程)
  11. docker stop (停止运行的容器)
  12. docker start(启动暂停的容器)
  13. docker pause(暂停容器,不占用cpu)
  14. docker unpause(重启容器)
docker run需特别讲解下

参数:
-d 后台启动
-p 端口映射
-v volumn映射(存储映射)
-it 交互模式进入容器
-m 设置内存上限
--memory-swap 内存swap上限
-c cpu权重(默认1024)
--blkio-weight 改变IO优先级
cggroup(对容器占用资源的控制组)
/sys/fs/cggroup/cpu/docker/containerid
--network 指定网卡none,host使用主机网络

推荐阅读更多精彩内容