精华内容
下载资源
问答
  • docker容器特点

    2016-04-22 15:43:48
    docker容器相对于其他容器,它有什么特点
  • Docker容器管理

    2017-11-27 15:58:48
    Docker容器管理 Docker网络连接 单机Docker网络配置 linux虚拟网桥的特点: 可以设置IP地址 相当于拥有一个隐藏的虚拟网卡 docker0的地址自动划分 分配IP地址172.17.X.X 分配MAC地址 子网掩码255.255.0.0 ...
        

    Docker容器管理

    Docker网络连接

    单机Docker网络配置

    • linux虚拟网桥的特点:

      • 可以设置IP地址
      • 相当于拥有一个隐藏的虚拟网卡
    • docker0的地址自动划分

      • 分配IP地址172.17.X.X
      • 分配MAC地址
      • 子网掩码255.255.0.0
    • 每一个docker主机都对应一个docker容器网卡
    • 自定义docker0地址

      sudo ifconfig docker0 192.168.200.1 netmask 255.255.255.0
    • 自定义虚拟网桥

      • 添加虚拟网桥

        sudo brctl addbr br0
        
        sudo ifconfig br0 192.168.100.1 netmask 255.255.255.0
      • 更改docker守护进程的启动配置

        sudo vim /etc/default/docker
        
        DOCKER_OPTS="-b=br0"
        
        sudo service docker restart

    Docker容器互联

    • 默认:允许所有容器间互联

      • --icc

        sudo docker run -it --name cct1 ubuntu bash

        默认--icc=true,但是IP地址会发生变化

      • --link

        sudo docker run -it --name cct2 --link=cct1:webtest ubuntu bash

        链接容器,不会因IP变化导致链接不到

    • 拒绝所有容器间互联

      sudo docker run -it --name cct3 --icc=false ubuntu bash
    • 允许特定容器间互联

      sudo docker run -it --name cct4 --icc=false --iptables=true --link=cct1:webtest ubuntu bash
      

    Docker容器与外部网络连接

    • iptables配置

      sudo iptables -I DOCKER -s 10.X.X.X -d 172.17.X.X -p TCP -dport 80 -j ACCEPT
      或者
      sudo iptables -I DOCKER -s 10.X.X.X -d 172.17.X.X -p TCP -dport 80 -j DROP
    • docker端口映射

      sudo docker run -it --name cct5 -p 80 ubuntu bash
      apt-get update
      apt-get install -y nginx
      nginx
      ctrl+p
      sudo docker port cct5

    Docker数据管理

    数据卷

    • 概念:经过特殊设计的目录,可以绕过联合文件系统,为一个或者多个容器提供访问。
    • 设计目的:

      • 数据持久化
      • 独立于容器生命周期
      • 不存在回收机制
    • 存在Docker宿主机中,可利用容器技术与宿主机共享数据,可以是目录或文件,同一个目录或文件支持多个容器访问,实现容器间数据共享与交换
    • 特点

      • 在容器启动时初始化
      • 可以在容器间共享和重用
      • 容器可以对数据卷中的内容直接修改
      • 数据卷的变化不会影响镜像的更新
      • 数据永久存在
    • 挂载数据卷并添加访问权限,权限默认可读写

      sudo docker run -it -v ~/datavolume:/data:权限 ubuntu bash
      

    数据卷容器

    • 概念:数据卷容器就是挂载了数据卷的容器,其他容器通过挂载这个容器实现数据共享
    • 挂载数据卷容器并添加访问权限,权限默认可读写

      sudo docker run -it -v ~/datavolume:/data --name dv1 ubuntu bash
      sudo docker run -it --volume-from dv1 --name dv2 ubuntu bash
    • 数据卷容器仅仅作为数据传递,即使删除,数据仍然存在
    • 备份

      sudo docker run -it -v ~/datavolume:/data --name dv1 ubuntu bash
      sudo docker run -it --volume-from dv1 -v ~/backup:/backup --name dv2 ubuntu tar cvf /backup/dv1.tar /data
    • 还原

      sudo docker run -it -v ~/datavolume:/data --name dv1 ubuntu bash
      sudo docker run -it --volume-from dv1 -v ~/backup:/backup --name dv2 ubuntu tar zxvf /backup/dv1.tar /data

    Docker跨主机连接

    网桥配置

    • 主机配置

      sudo vim /etc/network/interfaces
      
      auto br0
      iface br0 inetstatic
      address 10.211.55.3
      netmask 255.255.255.0
      gateway 10.211.55.1
      bridge_ports eth0
    • Docker容器配置

      sudo vim /etc/default/docker
      
      DOCKER_OPTS="-b=br0 --fixed-cidr='10.211.55.128/20'"

    Open vSwitch配置

    • 建立ovs网桥
    • 添加GRE(通用路由协议封装)连接
    • 配置Docker容器虚拟网桥
    • 为虚拟网桥添加ovs接口
    • 添加不同Docker容器网段路由
    sudo ovs-vsctl add-br obr0
    sudo ovs-vsctl add-port obr0 gre0
    sudo ovs-vsctl set interface gre0 type=gre options:remote_ip=192.168.1.100
    sudo ovs-vsctl show
    
    sudo brctl addbr br0
    sudo ifconfig br0 192.168.1.1 netmask 255.255.255.0
    sudo brctl addif br0 obr0
    sudo brctl show
    
    sudo vim /etc/default/docker
    DOCKER_OPTS="-b=br0"
    
    sudo ip route add 192.168.2.0/24 via 192.168.1.100 dev eth0
    route

    weave配置

    • 安装
    • 启动

      weave launch
    • 连接不同主机
    • 通过weave启动容器

      weave run 192.168.1.2/24 -it --name wv1 ubuntu bash

    总结

    通过极客学院中Docker容器的学习,对Docker容器有了一个初步的认识,以后会逐步深入,容器化技术会越来越好。

    展开全文
  • docker容器的网络连接

    2020-03-17 18:54:40
    docker容器的网络连接 docker容器的网络基础 docker容器的互联 docker容器与外部网络的连接 docker容器的网络基础 docker0:linux虚拟网桥 linux虚拟网桥的特点: 可以设置ip地址 相当于拥有了一个隐藏的虚拟网卡...

    docker容器的网络连接

    • docker容器的网络基础
    • docker容器的互联
    • docker容器与外部网络的连接

    docker容器的网络基础
    docker0:linux虚拟网桥
    linux虚拟网桥的特点:

    • 可以设置ip地址
    • 相当于拥有了一个隐藏的虚拟网卡
      docker0的地址划分:
    • IP:172.17.42.1 子网掩码:255.255.0.0
    • MAC:02:42:ac:11:00:00到02:42:ac:11:ff:ff
    • 总共提供了65534个地址空间
      在这里插入图片描述
    #安装网桥管理工具
    apt-get install bridge-utils
    #查看网桥设备
    brctl show
    
    #修改docker0地址:
    $ ifconfig docker0 192.168.200.1 netmask 255.255.255.0
    

    添加虚拟网桥:
    1,建立虚拟网桥。
    2,在docker配置中添加虚拟网桥使用的定义

    #添加虚拟网桥
    $ brctl addbr br0
    $ ifconfig br0 192.168.100.1 netmask 255.255.255.0
    #更改docker守护进程的启动配置
    /etc/default/docker 中添加docker_ops值
    -b=br0
    

    docker容器的互联

    • 允许所有容器互联
    • 拒绝容器互联
    • 允许特定容器互联
      用于测试Docker镜像的Dockfile:
    FROM ubuntu:14.04
    RUN apt-get install -y ping
    RUN apt-get update
    RUN apt-get install -y nginx
    RUN apt-get install -y curl
    EXPOSE 80
    CMD /bin/bash
    

    允许所有容器互联(默认)
    –icc=true
    在docker中设置容器互联
    –link
    $ cocker run --link=[CONTAINER_NAME]:[ALIAS] [IMAGE] [COMMAND]
    egg:
    docker run -it --name=cct3 --link=cct1:webtest test/cct#连接到cct1上,并取一个别名webtest
    ping webtest#通过别名连接其他容器
    拒绝容器访问
    docker文件配置
    –icc=false

    允许特定容器间连接
    docker文件配置
    –icc=false --iptables=true
    –link(用了link的容器允许连接)
    iptables -F
    systemctl restart docker
    docker start cct1 cct2 cct3 cct4
    cct1 打开ngin
    cct4连接到cct1

    docker容器与外部网络的连接
    ip_forward
    iptables
    允许端口映射访问
    限制ip访问容器

    –ipforward=true(是否会转发流量)
    $sysctl net.ipv4.conf.all.forwarding
    net.ipv4.conf.all.forwarding=1

    [root@localhost ~]$ vim /etc/docker/daemon.json
    {
        "authorization-plugins": [],
        "data-root": "",   # 设置docker运行时的根目录
        "dns": [],         # 设置容器的DNS地址
        "dns-opts": [],    # 设置容器的/etc/resolv.conf文件
        "dns-search": [],
        "exec-opts": [],
        "exec-root": "",
        "experimental": false,
        "features": {},
        "storage-driver": "",
        "storage-opts": [],
        "labels": [],
        "live-restore": true,
        "log-driver": "json-file",
        "log-opts": {
            "max-size": "10m",
            "max-files":"5",
            "labels": "somelabel",
            "env": "os,customer"
        },
        "mtu": 0,
        "pidfile": "",    # 设置docker守护进程的PID文件
        "cluster-store": "", 
        "cluster-store-opts": {},
        "cluster-advertise": "",
        "max-concurrent-downloads": 3,
        "max-concurrent-uploads": 5,
        "default-shm-size": "64M",
        "shutdown-timeout": 15,
        "debug": true,    # 是否以debug模式启动docker
        "hosts": [],      # 设置容器的hosts
        "log-level": "",
        "tls": true,
        "tlsverify": true,
        "tlscacert": "",
        "tlscert": "",
        "tlskey": "",
        "swarm-default-advertise-addr": "",
        "api-cors-header": "",
        "selinux-enabled": false,    # 设置是否支持SELinux
        "userns-remap": "",
        "group": "",
        "cgroup-parent": "",
        "default-ulimits": {
            "nofile": {
                "Name": "nofile",
                "Hard": 64000,
                "Soft": 64000
            }
        },
        "init": false,
        "init-path": "/usr/libexec/docker-init",
        "ipv6": false,
        "iptables": false,
        "ip-forward": false,    
        "ip-masq": false,
        "userland-proxy": false,
        "userland-proxy-path": "/usr/libexec/docker-proxy",
        "ip": "0.0.0.0",
        "bridge": "",
        "bip": "",
        "fixed-cidr": "",
        "fixed-cidr-v6": "",
        "default-gateway": "",
        "default-gateway-v6": "",
        "icc": false,
        "raw-logs": false,
        "allow-nondistributable-artifacts": [],
        "registry-mirrors": [],       # 设置镜像加速地址
        "seccomp-profile": "",
        "insecure-registries": [],    # 设置docker的私有仓库地址
        "no-new-privileges": false,
        "default-runtime": "runc",
        "oom-score-adjust": -500,
        "node-generic-resources": ["NVIDIA-GPU=UUID1", "NVIDIA-GPU=UUID2"],
        "runtimes": {
            "cc-runtime": {
                "path": "/usr/bin/cc-runtime"
            },
            "custom": {
                "path": "/usr/local/bin/my-runc-replacement",
                "runtimeArgs": [
                    "--debug"
                ]
            }
        },
        "default-address-pools":[{"base":"172.80.0.0/16","size":24},
        {"base":"172.90.0.0/16","size":24}]
    }
    
    展开全文
  • Docker容器数据卷

    多人点赞 热门讨论 2020-12-25 14:11:25
    Docker容器数据卷 是什么? Docker容器产生的数据,如果不通过docker commit 生成新的镜像,使得数据做为镜像的一部分保存下来。 那么当容器删除后,数据自然就没 有了 为了能保存数据在docker中我们使用卷 一...

    Docker容器数据卷

    是什么?

    Docker容器产生的数据,如果不通过docker commit 生成新的镜像,使得数据做为镜像的一部分保存下来。

    那么当容器删除后,数据自然就没 有了

    为了能保存数据在docker中我们使用卷

    一句话: 有点类似我们Redis 里面的rdb和aof文件

    能干嘛?

    卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷

    特点:

    • 数据卷可在容器之间共享或重用数据454

    • 卷中的更改可以直接生效

    • 数据卷中的更改不会包含在镜像的更新中

    • 数据卷的声明周期一直持续到没有容器使用它为止

    数据卷

    容器中添加数据卷的两种方式:

    • 直接命令添加

      命令:docker run - it -v/宿主机绝对路径目录:/容器内目录 镜像名

      例:

      docker run -it -v /myDataVolume:/dataVolumeContainer centos
    • 命令(带读写权限)

      docker run -it -v /myDataVolume:/dataVolumeContainer:ro centos   #代表容器内对文件只能读,不可以写
    • DockerFile添加

      • 在根目录下新建mydocker 文件夹并进入

      • 然后新建file文件

        # volume test
        FROM centos
        VOLUME ["/dataVolumeContainer1", "/dataVolumeContainer2"]
        CMD echo "finished,------success1"
        CMD /bin/bash          
      • build 后生成镜像

        sudo docker build -f /mydocker/file -t zd/centos .
      • run容器

        docker run -it zd/centos /bin/bash

    数据卷容器

    是什么?

    命名的容器挂载数据卷,其它容器通过挂载这个父容器实现数据共享,挂载数据卷的容器,称之为数据卷容器

    展开全文
  • Docker容器

    2018-05-05 02:16:28
    主要是把开发的应用程序自动部署到容器的开源引擎,主要有如下特点: 1.提供简单轻量的建模方式 2.职责的区分明显 3.快速、高效的开发生命周期 4.使用面向服务的架构更为合适 安装Docker 二.Docker组件 1....

    Docker简介

    一.主要是把开发的应用程序自动部署到容器的开源引擎,主要有如下特点:

    1.提供简单轻量的建模方式
    2.职责的区分明显
    3.快速、高效的开发生命周期
    4.使用面向服务的架构更为合适
    安装Docker

    二.Docker组件

    1.docker镜像
    (1)添加一个文件
    (2)执行一个命令
    (3)打开一个窗口
    2.Registry
    主要是用来保存用户构建的镜像,分为共有和私有两种
    3.容器
    主要是由开发构建和部署的容器,将应用程序打包进容器即可执行,容器可运行多个一个和多个进程,体现如下:
    (1)一个镜像格式
    (2)一系列的标准操作
    (3)一个执行环境

    三.docker的技术组件

    1.文件系统隔离
    2.进程隔离
    3.网络隔离
    4.资源隔离和分组
    5.写时复制
    6.日志分析故障
    7.交互式shell

    四.Docker安装

    1.linux分支系统安装docker
    (1)ubuntu安装docker
    首先,检查内核版本问题
    :uname -a
    如要安装内核
    :sudo apt-get update
    :sudo apt-get install linux-headers-#.#.#-##-generic linux-image-#.#.#-##-generic linux-headers#.#.#-##
    更新ubuntu Precise的启动加载器
    安装完成后重启
    :sudo reboot
    如在ubuntu Raring 中安装Docker ,无需升级
    其次,检查Device Mapper
    有如下三点:
    1 :ls -l /sys/class/misc/device-mapper
    2 : sudo grep device-mapper /proc/devices
    3 : sudo modprobe dm_mod
    第三.安装docker
    1.sudo sh -c “echo deb https://get/docker.io/ubuntu docker main /etc/apt/soucrces.list.d/docker.list”
    2.检查curl是否安装
    :whereis curl
    如需要安装curl
    :sudo apt-get -y install curl
    3.添加Docker 仓库的GPG密钥
    :curl -s https://get.docker.io/gpg | sudo apt-key add -
    4.更新APT 源
    :sudo apt-get upgate
    5.安装Docker软件包
    :sudo apt-get install lxc-docker
    6.检查是否正确安装
    :sudo docker info

    (2)Red Hat和Red Hat系发行版安装Docker
    首先,版本要求
    1.RHEL(CentOS)6及其以上(64位)
    2.Fedora Core 19 及其以上版本(64位)
    3.Oracle Linux 6 和Oracle Linux7 带有Unbreakable 企业内核发行版3(3.8.13)或者更高版本(64位)
    内核和Device Mapper检测略

    其次,安装Docker
    (1)先解决EPEL依赖
    (2)安装Docker
    RHEL 6、CentOS 6中 安装
    :sudo yum -y install docker-io
    RHEL 7中安装
    : sudo subscription-manager repos –enable-rhel-7-server-extras-rpms
    :sudo yum install -y docker

    (3)Fedora 中安装
    该发行版本不同依赖的Docker软件包不同
    Fedora 19中需要docker-io,安装如下
    :sudo yum install docker-io

    (4)安装后续
    在Red Had 发行版本中启动Docker守护进程,各版本如下所述
    A.Red Had 企业Linux 6 中
    :sudo service docker start
    开机启动
    : sudo service docker enable
    B.RHEL 7、Fedora 中启动Docker 服务,如下
    :sudo systemctl start docker
    设置开机启动
    :sudo systemctl enable docker

    (5)检测是否正常安装
    :sudo docker info

    2.OS X、windows中安装
    主要是依赖Boot2Docker软件包
    于GitHub下载相应的软件包,启动安装即可。由于作者主要是针对学习Linux系统相关东西,在此从不概述,敬请谅解。

    展开全文
  • Docker容器原理及相关知识一、Docker容器介绍1.容器概念2.Docker介绍3.Dcker的特点二、Docker的体系架构三、相关术语介绍1、Docker 客户端2、Docker 服务器3、Docker 对象4.镜像5.容器6.仓库四、Docker Hub五、操作...
  • 当我们在使用docker容器的时候,会产生一系列的数据文件,这些数据文件在我们关闭docker容器时是会消失的,但是其中产生的部分内容我们希望能够把它给保存起来另作用途的,Docker将应用与运行环境打包成容器发布,
  • Docker容器部署

    2019-07-18 11:04:21
    所谓的docker 是一种容器技术 Docker特点 (1)上手快 (2)职责的逻辑分类 (3)快速高效的开发生命周期 (4)鼓励使用面向服务的架构 Docker安装与启动 1.Docker官方建议在Ubuntu中安装,因为Docker是基于Ubuntu...
  • linux~Docker容器提权

    2020-11-06 20:13:39
    Docker容器特点: 1.轻量级 在机器上运行的Docker容器共享该机器的操作系统内核; 他们使用更少的计算和内存。图像由文件系统层构建并共享公用文件。最大限度地减少了磁盘使用量。 2.标准 Docker容器基于开放标准,...
  • docker容器的互联

    2017-05-18 22:35:28
    http://xiaorenwutest.blog.51cto.comdocker容器面向对象的应用在前面我们有讲过docker容器的运行的4种模式:host模式、容器模式、网桥模式以及none模式,各有各的特点,今天主要实现docker容器的互联以及通过...
  • Docker容器的数据管理

    2019-12-05 18:23:28
    其设计目的在于数据的永久化,数据卷是存在于宿主机中的文件或者目录,因此它与Docker容器的生命周期是完全分离的,Docker不会在容器删除时删除其挂载的数据卷,也不会存在类似的垃圾收集机制,对容器引用的数据卷...
  • (四)Docker容器数据卷

    2020-10-16 17:45:02
    docker的理念将运行的环境打包形成容器运行,运行可以伴随容器,但是我们对数据的要求是希望持久化,容器之间可以共享数据,Docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据作为容器的一部分...
  • docker容器数据卷

    千次阅读 2019-07-22 10:10:39
    docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据作为镜像的一部分保存下来,那么当容器删除后,数据自然就没有了。为了能保存数据在docker中我们使用数据卷。 特点 数据卷可在容器之间共享或...
  • docker容器化介绍

    2020-05-30 19:03:25
    docker的英文意思是 码头工人,意思就是搬运东西的意思,其实这和docker特点是一样的,docker提供的就是一种容器化搬运东西(我们的软件、程序)的过程。docker自己本来是运行在操作系统上一个程序软件,它会提供...
  • 虽然目前Docker容器使用者相对更多,但rkt的发展也不可忽视。 Rocket与Docker引发的站队 前世 这里让我们先来八一个卦,故事要从2013年开始说起。是的,Docker公司在2013年发布了后来红遍大江南北的docker...
  • docker-presto-cluster是用于在docker容器上启动多个节点的集群的简单工具。 图像与的master分支同步。 因此,您可以轻松尝试最新的presto以进行开发。 产品特点 具有docker-compose的docker容器上的多节点集群 ...
  • Docker容器的网络连接

    千次阅读 2018-09-08 12:35:55
    一.Docker容器的网络基础 通过ifconfig查看docker0的网络设备,docker守护进程就是通过docker0为docker的容器提供网络连接的各种服务。 docker0是Linux虚拟网桥。 Linux虚拟网桥的特点: 可以设置IP地址 相当...
  • TYK Docker容器安装

    千次阅读 2018-12-17 17:52:27
    TYK Docker容器安装 TYK简介 Tyk是一个开源的轻量级API网关程序,Tyk官网 TYK的特点 请求配额和速率限制 多种认证方式 数据分析 不停机发布REST API 能够导入Apiary 或者 Swagger接口文档,并Mock 性能监控 报文...
  • 一个易于使用的远程访问面板来管理现有的Docker容器。 无需设置,只需添加一个 docker 容器即可。 专门用于使用 docker-compose 运行 Minecraft 服务器,但当然也可以用于其他容器。 特点和设计原则 启动和停止 ...
  • docker通过linux虚拟网桥docker0连接网络,网桥是7层模型的数据链路层 linux虚拟网桥的特点:可以设置IP地址,相当于拥有一个隐藏的虚拟网卡 ...重启docker服务导致docker容器ip重新分配: docker允许特定容...
  • Docker 容器挂载 Volume

    2019-12-25 09:54:55
    特点Docker管理宿主机文件系统的一部分 /var/lib/docker/volumes 保存数据的最佳方式 多个运行容器之间共享数据 当容器停止或者被移除后,改卷依然存在 多个容器可以同时挂载相同的卷 当明确删除卷时,卷才会被...
  • Docker容器化+Dubbo应用之指定IP 使用Docker容器化SpringBoot+...作者结合平时的部署经验,联系Docker的特点,用本篇博客记录使用Docker容器化SpringBoot+Docker应用的方法。 要解决的问题 Dubbo的Provider在Doc...
  • 一.Docker容器的网络基础 通过ifconfig查看docker0的网络设备,docker守护进程就是通过docker0为docker的容器提供网络连接的各种服务。 docker0是Linux虚拟网桥。 Linux虚拟网桥的特点: 可以设置IP地址 相当...
  • 当创建一个新的docker容器时,虚拟网卡一端搭入新的docker容器中,命名为eth0(容器网卡),另一 端放入主机,命名vethxxxx ,并将该veth设备放入docker0 容器,以docker0 作为网络桥接机 特点:默认情况-连接同一网桥...
  • Docker容器数据卷讲解

    2020-08-21 15:49:51
    为什么Docker需要容器数据卷技术:如果没有数据卷技术,比如一个由mysql镜像创建运行的容器,产生的数据就会保存在容器中,数据的生命周期与容器的生命周期一致,如果删除了该容器,相应的数据也会遭到删除,需求:...
  • 一.Docker容器的网络基础 通过ifconfig查看docker0的网络设备,docker守护进程就是通过docker0为docker的容器提供网络连接的各种服务。 docker0是Linux虚拟网桥。 Linux虚拟网桥的特点: 可以设置IP地址 相当...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,030
精华内容 412
关键字:

docker容器特点