https://wiki.gentoo.org/wiki/Docker

检查内核内核选项

exec /usr/share/docker/contrib/check-config.sh

使用 btrfs 驱动

#创建 /etc/docker/daemon.json,并添加如下内容
{
"storage-driver": "btrfs"

安装

  最新版:curl -fsSL https://get.docker.com/ | sh

[gentoo]

  • # groupadd docker
  • # gpasswd -a ${UserName} docker
  • app-emulation/docker
    • USE:btrfs -aufs -devicemapper

下载镜像

  • docker search ImagesName
  • docker pull [Options] [Docker Registry Addr]/<Repositry>:<Tag>
    • Docker Registry地址:地址的格式一般是 <IP Addr>[:Port] ,默认地址是 Docker Hub;
    • 仓库名:两段式名称,既 <Docker Hub UserName>/<ImageName>,对于 Docker Hub,如果不给出用户名,则默认为 library,也就是官方镜像。
  • 示例:docker pull jxus37ad.mirror.aliyuncs.com/yeasy/hyperledger-fabric-peer:latest
  • 设置加速镜像:在 docker.service 中 ExecStart=... 项中追加 --registry-mirror=https://jxus37ad.mirror.aliyuncs.com

运行容器

  • docker run -i -t --rm --name=test -p 8080:80 yeasy/hyperledger-fabric-peer:latest bash

    • -i:交互式操作
    • -t:打开一个终端
    • --rm:退出后销毁该容器,此选项不能与 -d 同时使用
    • --name:指定容器名称
    • -p:指定主机与容器之间的端口影射,此处指将主机的 8080 端口影射到容器的 80 端口
    • bash:最后一部分指要执行的命令
    • -h HostName:配置容器主机名

    • --link=ContainerName:Alias:添加到另一个容器的连接,在当前启动的容器内部使用 env 或查看 /etc/hosts 获取目标容器的网络信息

    • --dns=IP_ADDRESS 使用指定的DNS服务器

数据卷[用于永久保存数据]

  • -v 创建数据卷及权限(也可以指定数据卷主机目录位置、容器挂载位置及权限)

    • 示例:docker run -d -P --name web -v [/tmp/webapp:]/opt/webapp[:rw] training/webapp python app.py,指将主机的 /tmp/webapp 目录挂载到 Container 中的 /opt/webapp 目录,充当数据卷,可指定权限(默认 rw)

  • docker rm -v ContainerName:删除容器时同时删除对应的数据卷,默认不删除
  • 挂载其它容器的数据卷,该容器的属主容器无需处于运行状态
    • docker run -d -v /dbdata --name test1 training/test,创建数据卷
    • docker run -d --volumes-from test1 --name test2 training/test,挂载 test1 容器的数据卷到 test2 容器

执行操作

  • docker exec -it [ContainerName] [CMD]

    • 在已启动的容器中执行操作
  • docker diff ContainerName
    • 查看容器中有变动的文件列表
  • docker history ImageName
    • 查看对指定镜像的操作历史
  • docker rm [-f] ContainerName
    • 删除容器,-f 指强制删除运行中的容器
  • docker rmi ImageName
    • 删除镜像
  • docker start/stop/restart
  • docker ps [-a]
    • -a 同时查看处于 stop 状态的 Container
  • docker attach ContainName
    • 进入后台容器执行操作
  • docker logs ContainerName
    • 获取后台运行的容器的输出内容
  • docker export ContainerID [-o/--output FileName]
    • 导出快照,-o 输出到指定文件,如:docker export ContainerID -o xxx.tar.gz
  • docker import /PATH/TO/SnapName ImageName:tag 
    • 导入快照,PATH 可以为 http://.../xxx.tgz 等格式
  • docker load -i ImageFileName
    • 将本地镜像文件导入 docker 镜像库:将镜像解压之后再导入

查询信息

  • docker images [IMAGENAME:TAG]

    • -f dangling=true:显示垃圾镜像
    • docker rmi $(docker images -q -f dangling=true):批量清除垃圾镜像
    • -a:同时显示中间层镜像,中间层镜像随其上层镜像同步消亡,无需手工操作
    • -q:输出精简信息,仅显示 IMAGE ID 字段
    • 示例:docker imagers -a -q debian
  • docker inspect ContainerName
    • 查询容器详细信息,输出格式为 JSON,数据卷在 “Mounts” 键对应的值中存储
  • docker port ContainerName Port
    • 查询容器端口上绑定的主机端口
  • docker stats [ContainerName]:类似于 top,动态监控主机容器运行时信息

网络

  • docker -P:主机与容器之间随机影射,通过 docker ps [-l] 查看
  • docker -p IP:HostPort:ContainerPort|IP::ContainerPort|HostPort:ContainerPort
    • 可以同时指定容器可以使用的主机 IP 及主机端口,不指定 IP 指主机所有 IPaddr 均对容器开放
    • 可以使用多个 -p 同时操作多组 Ports 绑定
  • docker 默认的虚拟网桥 docker0 并没有加入主机的网卡,且容器的网关设置为 docker0 的 IP,因此是一个 NAT 网络,外部无法直接访问
    • (1)、将主机网卡绑定至 docker0
    • (2)、自建网桥,并在 docker.service 中添加 -b BRIDGE 或 --bridge=BRIDGE,使用自建的 bridge

...

最新文章

  1. Lists in Prolog
  2. 实验5 简单嵌入式WEB服务器实验 实验报告 20135303 20135326
  3. [SAP ABAP开发技术总结]数据输入输出转换、小数位/单位/货币格式化
  4. 如果公司里有上百个表要做触发器,如果手动写代码的话。很累,所以今天写了一个小程序,自动生成mysql的触发代码。
  5. C#中的可空类型
  6. 转一个distinct用法,很有帮助
  7. mysql实例---sql语句中使用@变量
  8. 自定义事件实现不同窗体间的通讯Delphi篇
  9. 加密传输SSL协议3_非对称加密
  10. String的Split方法的用法与要注意事项
  11. Java开发中的23种设计模式具体解释
  12. 【LeetCode】30. Substring with Concatenation of All Words
  13. 如何在关闭ssh连接的情况下,让程序继续运行?
  14. Beagle X15 版本制作和烧录
  15. WCF优雅使用 KnownType标记的方法
  16. maven与eclipse集成
  17. oracle中的SQL优化
  18. CSS3扁平化Loading动画特效
  19. scala中Either的一种使用场景
  20. python学习笔记(六)- 函数、文件json与python字典互操作

热门文章

  1. java线程池监控
  2. 前端学习笔记——CSS选择器
  3. camunda任务的一些简单操作
  4. 第一记 搭建Java集成开发环境
  5. CSS2 从入门到精通
  6. Java的枚举类型使用方法详解
  7. 2019-9-2-C#委托
  8. stty - 改变并打印终端行设置
  9. C3P0连接池属性配置注释
  10. Android蓝牙自动配对Demo,亲测好使!!!(转)