首页 > 其他 > 详细

docker基础

时间:2018-03-21 16:27:08      阅读:180      评论:0      收藏:0      [点我收藏+]
  • 安装包,允许 apt 命令 HTTPS 访问 Docker 源。
  • $ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

    1. 添加 Docker 官方的 GPG

    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

    1. 将 Docker 的源添加到 /etc/apt/sources.list

    deb [arch=amd64] https://download.docker.com/linux/ubuntu artful stable

    安装 Docker

    $ sudo apt-get update
    $ sudo apt-get install docker-ce

    制作在有ssh的ubuntu镜像
    在 /root 下建立Dockerfile 编辑如下

    FROM ubuntu
    RUN apt-get update && apt-get install -y ssh

    执行命令
    docker build -t ubuntu-ssh . #"."表示在当前目录查找Dockerfile文件

    docker history ubuntu-ssh #查看镜像建立过程
    docker images #查看镜像文件
    docker rm #删除容器
    docker rmi #删除镜像文件
    docker ps -a #查看所有容器状态

    创建私有registry

    docker run -d -p 5000:5000 -v /myregistry: /var/lib/registry registry:2

    变更hosts文件
    127.0.0.1 registry.example.net

    镜像文件重命名
    docker tag httpd registry.example.net:5000/zzy/httpd:v1

    上传镜像
    docker push registry.example.net:5000/zzy/httpd:v1

    下载镜像
    docker pull registry.example.net:5000/zzy/httpd:v1

    运行容器

    docker run httpd
    -d 后台运行
    -it 交互式打开一个终端

    容器分类
    服务类容器 适合以 -d 的形式打开 httpd
    工具类容器 适合已 -it的形式打开 busybox,ubuntu

    进入容器 exec

    docker exec -it my_httpd bash
    docker exec -it my_httpd ip addr

    create/kill/start/restart/stop/pause/unpause 容器

    docker rm -v $(docker ps -aq -f status=exited) 删除后台退出的所有容器

    内存/cpu/block io限额

    docker network

    docker network ls #查看网络类型
    三种网络类型
    none, 只有loopback接口
    host, 与docker host 共享网络栈
    bridge,docker的默认网络

    brctl show #查看bridge网络

    创建自定义网络
    docker network create --driver bridge my_net
    参数
    --driver 定义网络类型
    --subnet 定义DHCP网段
    --gateway 定义网关

    创建container接入自定的网络中
    docker run -it --network=my_net busybox
    参数
    --network
    --ip

    查看自定义网络配置
    docker network inspect my_net

    将容器添加到网络中
    docker network connect my_net1 mystifying_panini

    joined容器 与其他容器共享网络栈
    首先创建容器 net1_httpd_1
    docker run -d --name net1_httpd_1 --network=my_net1 httpd
    创建busybox
    docker run -it --network=container:net1_httpd_1 busybox
    busybox与net1_httpd_1拥有相同的IP地址,二者可以直接通过本地直接互访

    将host端口8080 映射至容器的80端口,提供外网服务
    docker run -d -p 8080:80 httpd

    docker 存储

    docker 存储提供2种存放数据的资源
    1.由storage driver 管理的镜像层和容器层

    1. data volume 本质是docker host上文件系统的目录或文件 能直接被mount到容器的文件系统中
      data volume
      1.bind mount
      2.docker managed volume

    docker基础

    原文:http://blog.51cto.com/hetao/2089442

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
    © 2014 bubuko.com 版权所有
    打开技术之扣,分享程序人生!