Racher Docker基础环境配置 | Rancher Docs

标签: | 发表时间:2020-04-08 09:58 | 作者:
出处:https://docs.rancher.cn

1. 主机配置

1.1. 配置要求

参考 节点需求

1.2. 主机名配置

因为K8S的规定,主机名只支持包含  - 和  .(中横线和点)两种特殊符号,并且主机名不能出现重复。

  1. Hosts

    配置每台主机的hosts(/etc/hosts),添加 host_ip $hostname/etc/hosts文件中。

  2. CentOS关闭selinux

    sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

  3. 关闭防火墙(可选)或者放行相应端口

    对于刚刚接触Rancher的用户,建议在关闭防火墙的测试环境或桌面虚拟机来运行rancher,以避免出现网络通信问题。

    1. 关闭防火墙

      • CentOS

      systemctl stop firewalld.service && systemctl disable firewalld.service

      • Ubuntu

      ufw disable

    2. 端口放行

      端口放行请查看 端口需求

  4. 配置主机时间、时区、系统语言

    1. 查看时区

      date -R或者 timedatectl

    2. 修改时区

             ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
      
      1
    3. 修改系统语言环境

             sudo echo 'LANG="en_US.UTF-8"' >> /etc/profile;source /etc/profile
      
      1
    4. 配置主机NTP时间同步

  5. 配置主机DNS

    对于类似Ubuntu 18这类默认使用 systemd-resolve管理DNS的系统,建议禁用systemd-resolved服务,然后手动配置DNS。

    操作方法:

    1. 禁用systemd-resolved.service

             systemctl disable systemd-resolved.service
      systemctl stop systemd-resolved.service
      rm -rf /etc/resolv.conf ; touch /etc/resolv.conf
      
      1
      2
      3
    2. 接着编辑/etc/resolv.conf添加DNS服务器

    3. 重启docker服务

             systemctl daemon-reload ; systemctl restart docker
      
      1

2. Kernel性能调优

   cat >> /etc/sysctl.conf<<EOF
net.ipv4.ip_forward=1
watchdog_thresh=30
net.bridge.bridge-nf-call-iptables=1
net.ipv4.neigh.default.gc_thresh1=4096
net.ipv4.neigh.default.gc_thresh2=6144
net.ipv4.neigh.default.gc_thresh3=8192
EOF
1
2
3
4
5
6
7
8

数值根据实际环境自行配置,最后执行 sysctl -p保存配置。

2.1. 模块列表

如果要使用ceph存储相关功能,需保证worker节点加载 RBD模块

以下模块需要在主机上加载

模块名称
br_netfilter
ip6_udp_tunnel
ip_set
ip_set_hash_ip
ip_set_hash_net
iptable_filter
iptable_nat
iptable_mangle
iptable_raw
nf_conntrack_netlink
nf_conntrack
nf_conntrack_ipv4
nf_defrag_ipv4
nf_nat
nf_nat_ipv4
nf_nat_masquerade_ipv4
nfnetlink
udp_tunnel
veth
vxlan
x_tables
xt_addrtype
xt_conntrack
xt_comment
xt_mark
xt_multiport
xt_nat
xt_recent
xt_set
xt_statistic
xt_tcpudp

提示

模块查询: lsmod | grep <模块名>
模块加载: modprobe <模块名>

3. ETCD集群容错表

建议在ETCD集群中使用奇数个成员,通过添加额外成员可以获得更高的失败容错。具体详情可以查阅 optimal-cluster-size

集群大小 MAJORITY 失败容错
1 1 0
2 2 0
3 2 1
4 3 1
5 3 2
6 4 2
7 4 3
8 5 3
9 5 4

4. Docker安装与配置

4.1. Docker安装

  • 修改系统源
  1. Ubuntu 16.04.x

         sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    cat > /etc/apt/sources.list << EOF
    deb http://mirrors.aliyun.com/ubuntu/ xenial main
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
    deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
    deb http://mirrors.aliyun.com/ubuntu/ xenial universe
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
    deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
    deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
    deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe
    EOF
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
  2. Ubuntu 18.04.x

         sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    cat > /etc/apt/sources.list << EOF
    deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    EOF
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
  3. Centos7.x

         yum install ca-certificates ;
    update-ca-trust;
    
    cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo-bak
    cat << 'EOF' > /etc/yum.repos.d/CentOS-Base.repo
    # CentOS-Base.repo
    #
    # The mirror system uses the connecting IP address of the client and the
    # update status of each mirror to pick mirrors that are updated to and
    # geographically close to the client.  You should use this for CentOS updates
    # unless you are manually picking other mirrors.
    #
    # If the mirrorlist= does not work for you, as a fall back you can try the 
    # remarked out baseurl= line instead.
    #
    #
    
    [base]
    name=CentOS-$releasever - Base - mirrors.aliyun.com
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
            http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
            http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
    
    #released updates
    [updates]
    name=CentOS-$releasever - Updates - mirrors.aliyun.com
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
            http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
            http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
    
    #additional packages that may be useful
    [extras]
    name=CentOS-$releasever - Extras - mirrors.aliyun.com
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
            http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
            http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
    gpgcheck=1
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
    
    #additional packages that extend functionality of existing packages
    [centosplus]
    name=CentOS-$releasever - Plus - mirrors.aliyun.com
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
            http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/
            http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
    
    #contrib - packages by Centos Users
    [contrib]
    name=CentOS-$releasever - Contrib - mirrors.aliyun.com
    failovermethod=priority
    baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/
            http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/
            http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
    gpgcheck=1
    enabled=0
    gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
    
    EOF
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
  • Docker-ce安装
  1. Ubuntu

         # 定义用户名
    NEW_USER=rancher
    # 添加用户(可选)
    sudo adduser $NEW_USER
    # 为新用户设置密码
    sudo passwd $NEW_USER
    # 为新用户添加sudo权限
    sudo echo "$NEW_USER ALL=(ALL) ALL" >> /etc/sudoers
    # 定义安装版本
    export docker_version=18.09.9;
    # 删除旧的docker组件
    sudo apt-get remove docker docker-engine docker.io containerd runc -y;
    # 更新 apt 源
    sudo apt-get update;
    # 对系统进行全面的更新升级,推荐升级一下(可选)
    sudo apt-get -y upgrade;
    # 安装必要的一些系统工具
    sudo apt-get -y install apt-transport-https ca-certificates \
        curl software-properties-common bash-completion  gnupg-agent;
    # 安装GPG证书
    sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | \
        sudo apt-key add -;
    # 添加Docker APT 源
    sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable";
    # 更新并安装 Docker-CE
    sudo apt-get -y update;
    install_version=$( apt-cache madison docker-ce | grep ${docker_version} | awk '{print $3}' );
    # --allow-downgrades 允许降级安装
    sudo apt-get -y install docker-ce=${install_version} docker-ce-cli=${install_version} --allow-downgrades;
    # 把当前用户加入docker组
    sudo usermod -aG docker $NEW_USER;
    # 设置开机启动
    sudo systemctl enable docker;
    # 清理不需要的依赖
    apt-get autoremove  -y
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35

    Docker-engine

    Docker-Engine Docker官方已经不推荐使用,请安装Docker-CE。

  2. Centos

    因为CentOS的安全限制,通过RKE安装K8S集群时候无法使用 root账户。所以,建议 CentOS用户使用非 root用户来运docker,不管是 RKE还是 custom安装k8s,详情查看 无法为主机配置SSH隧道

         # 定义用户名
    NEW_USER=rancher
    # 添加用户(可选)
    sudo adduser $NEW_USER
    # 为新用户设置密码
    sudo passwd $NEW_USER
    # 为新用户添加sudo权限
    sudo echo "$NEW_USER ALL=(ALL) ALL" >> /etc/sudoers
    # 卸载旧版本Docker软件
    sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  container*
    # 定义安装版本
    export docker_version=18.06.3
    # 对系统进行全面的更新升级,推荐升级一下(可选)
    sudo yum update -y;
    # 安装必要的一些系统工具
    sudo yum install -y yum-utils device-mapper-persistent-data \
        lvm2 bash-completion;
    # Step 2: 添加软件源信息
    sudo yum-config-manager --add-repo \
        http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo;
    # Step 3: 更新并安装 Docker-CE
    sudo yum makecache all;
    version=$(yum list docker-ce.x86_64 --showduplicates | sort -r|grep ${docker_version}|awk '{print $2}');
    sudo yum -y install --setopt=obsoletes=0 docker-ce-${version} docker-ce-selinux-${version};
    # 如果已经安装高版本Docker,可进行降级安装(可选)
    yum downgrade --setopt=obsoletes=0 -y docker-ce-${version} docker-ce-selinux-${version};
    # 把当前用户加入docker组
    sudo usermod -aG docker $NEW_USER;
    # 设置开机启动
    sudo systemctl enable docker;
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40

    Docker-engine

    Docker-Engine Docker官方已经不推荐使用,请安装Docker-CE。

4.2. 锁定Docker版本

可能因为某些原因无意间执行了 yum update或者 apt-get -y upgrade;导致Docker版本升级。为了避免此类问题发生,建议在安装好Docker后对Docker软件进行锁定,防止Docker意外更新。

centos

  1. 安装yum-plugin-versionlock插件

         yum install yum-plugin-versionlock
    
    1
  2. 锁定软件包

         yum versionlock add docker-ce docker-ce-cli
    
    1
         [root@izwz969o7lu6t9lh4ta6m5z ~]# yum versionlock add docker-ce docker-ce-cli
    已加载插件:fastestmirror, versionlock
    Adding versionlock on: 0:docker-ce-17.06.2.ce-3.el7.centos
    versionlock added: 1
    [root@izwz969o7lu6t9lh4ta6m5z ~]#
    
    1
    2
    3
    4
    5
  3. 查看已锁定的软件包

         yum versionlock list
    
    1
  4. 解锁指定的软件包

         yum versionlock delete <软件包名称>
    
    1
  5. 解锁所有的软件包

         yum versionlock clear
    
    1

Ubuntu

  1. 锁定软件:

         sudo apt-mark hold docker-ce docker-ce-cli
    
    1
  2. 查看已锁定的软件

         sudo apt-mark showhold
    
    1

    软件包被锁定后,再次执行 apt-get upgrade可以看到以下日志提示

         root@alihost-03:/home/docker# apt-get  upgrade
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Calculating upgrade... Done
    The following packages have been kept back:
      docker-ce docker-ce-cli linux-generic linux-headers-generic linux-image-generic ubuntu-minimal
    0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.
    root@alihost-03:/home/docker#
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    被锁定的软件不会再升级。

  3. 解除锁定:

         sudo apt-mark unhold docker-ce docker-ce-cli
    
    1

4.3. Docker配置

对于通过systemd来管理服务的系统(比如CentOS7.X、Ubuntu16.X), Docker有两处可以配置参数: 一个是 docker.service服务配置文件,一个是Docker daemon配置文件daemon.json。

  1. docker.service

    对于CentOS系统, docker.service默认位于 /usr/lib/systemd/system/docker.service;对于Ubuntu系统, docker.service默认位于 /lib/systemd/system/docker.service

  2. daemon.json

    daemon.json默认位于 /etc/docker/daemon.json,如果没有可手动创建,基于systemd管理的系统都是相同的路径。通过修改 daemon.json来改过Docker配置,也是Docker官方推荐的方法。

以下说明均基于systemd,并通过 /etc/docker/daemon.json来修改配置。

4.3.1. 配置镜像下载和上传并发数

从Docker1.12开始,支持自定义下载和上传镜像的并发数,默认值上传为3个并发,下载为5个并发。通过添加"max-concurrent-downloads"和"max-concurrent-uploads"参数对其修改:

   "max-concurrent-downloads": 3,
"max-concurrent-uploads": 5
1
2

4.3.2. 配置镜像加速地址

Rancher从v1.6.15开始到v2.x.x,Rancher系统相关的所有镜像(包括1.6.x上的K8S镜像)都托管在Dockerhub仓库。Dockerhub节点在国外,国内直接拉取镜像会有些缓慢。为了加速镜像的下载,可以给Docker配置国内的镜像地址。

编辑 /etc/docker/daemon.json加入以下内容

   {
"registry-mirrors": ["https://7bezldxe.mirror.aliyuncs.com/","https://IP:PORT/"]
}
1
2
3

可以设置多个 registry-mirrors地址,以数组形式书写,地址需要添加协议头(https或者http)。

4.3.3. 配置 insecure-registries私有仓库

Docker默认只信任TLS加密的仓库地址(https),所有非https仓库默认无法登陆也无法拉取镜像。 insecure-registries字面意思为不安全的仓库,通过添加这个参数对非https仓库进行授信。可以设置多个 insecure-registries地址,以数组形式书写,地址不能添加协议头(http)。

编辑 /etc/docker/daemon.json加入以下内容:

   {
"insecure-registries": ["192.168.1.100","IP:PORT"]
}
1
2
3

4.3.4. 配置Docker存储驱动

OverlayFS是一个新一代的联合文件系统,类似于AUFS,但速度更快,实现更简单。Docker为OverlayFS提供了两个存储驱动程序:旧版的 overlay,新版的 overlay2(更稳定)。

先决条件:

  • overlay2: Linux内核版本4.0或更高版本,或使用内核版本3.10.0-514+的RHEL或CentOS。
  • overlay: 主机Linux内核版本3.18+
  • 支持的磁盘文件系统
    • ext4(仅限RHEL 7.1)
    • xfs(RHEL7.2及更高版本),需要启用d_type=true。

    具体详情参考  Docker Use the OverlayFS storage driver

编辑 /etc/docker/daemon.json加入以下内容

   {
"storage-driver": "overlay2",
"storage-opts": ["overlay2.override_kernel_check=true"]
}
1
2
3
4

4.3.5. 配置日志驱动

容器在运行时会产生大量日志文件,很容易占满磁盘空间。通过配置日志驱动来限制文件大小与文件的数量。

限制单个日志文件为 100M,最多产生 3个日志文件

   {
"log-driver": "json-file",
"log-opts": {
    "max-size": "100m",
    "max-file": "3"
    }
}
1
2
3
4
5
6
7

4.4. Ubuntu\Debian系统 ,docker info提示WARNING: No swap limit support

Ubuntu\Debian系统下,默认cgroups未开启swap account功能,这样会导致设置容器内存或者swap资源限制不生效。可以通过以下命令解决:

   # 统一网卡名称为ethx
sudo sed -i 's/en[[:alnum:]]*/eth0/g' /etc/network/interfaces;
sudo sed -i 's/GRUB_CMDLINE_LINUX="\(.*\)"/GRUB_CMDLINE_LINUX="net.ifnames=0 cgroup_enable=memory swapaccount=1 biosdevname=0 \1"/g' /etc/default/grub;
sudo update-grub;
1
2
3
4

注意 通过以上命令可自动配置参数,如果 /etc/default/grub非默认配置,需根据实际参数做调整。 提示 以上配置完成后,建议重启一次主机。

4.5. 更多配置请访问 最佳实践

相关 [racher docker 基础] 推荐:

Racher Docker基础环境配置 | Rancher Docs

- -
因为K8S的规定,主机名只支持包含  - 和  .(中横线和点)两种特殊符号,并且主机名不能出现重复. 配置每台主机的hosts(/etc/hosts),添加. host_ip $hostname到. CentOS关闭selinux. 关闭防火墙(可选)或者放行相应端口. 对于刚刚接触Rancher的用户,建议在关闭防火墙的测试环境或桌面虚拟机来运行rancher,以避免出现网络通信问题.

Docker认识基础

- - CSDN博客推荐文章
作者:chszs,版权所有,未经同意,不得转载. 博主主页: http://blog.csdn.net/chszs. Docker是一个C/S架构的容器引擎,它包括镜像、容器和库这三个重要的概念. Docker是一个开源平台,它包含容器引擎和Docker Hub注册服务器. 1)Docker容器引擎.

Docker & Flatpak

- - IT瘾-dev
目前最流行的技术莫过于Docker,Docker和Docker衍生的东西用到了很多很酷的技术,目前deepin应用软件发布转变成flatpak,这些看似风牛马不相及的技术方案,实际都使用了一个共同的底层技术——Namespace,假如没有namespace支持,这些技术实现都将成为空中楼阁. 一句话总结,无论是Docker、sysmted-nspawn还是flatpak,都是在namespace基础上,针对不同的场景,生出的不同的解决方案.

docker初体验之docker-tomcat

- - BlogJava-首页技术区
docker已经是现在最热的容器技术,最近也去体验了一下,在daocloud注册了一个账号,并开始本机实战docker. daocloud免费有两个容器可用,体验送T恤,邀请送书,这里我分享一个daocloud的邀请码 https://account.daocloud.io/signup?invite_code=mxeq2jkmcur37vz6ven8,daocloud是非常棒的容器云平台,使用体验好,问题响应也及时,绑定微信还送一个额外容器.

kubernetes移除Docker?

- -
两周前,Kubernetes在其最新的Changelog中宣布1.20之后将要弃用dockershime,也就说Kubernetes将不再使用Docker做为其容器运行时. 这一消息持续发酵,掀起了不小的波澜,毕竟Kubernetes+Docker的经典组合是被市场所认可的,大量企业都在使用. 看上去这个“弃用”的决定有点无厘头,那么为什么Kubernetes会做出这样的决定.

Docker应用场景

- - 灯火阑珊
Flynn:一个使用go语言编写的开源PaaS平台,目标是简化分布式环境中应用的部署和维护,可以通过git push命令,将应用部署到Docker,从而省去复杂的配置和操作. CoreOS:一种新的架构体系重新设计的Linux发型版,可以运行在既有的硬件活着云服务器上. CoreOS不提供类似yum或apt的包管理工具,用户不需要在CoreOS中安装软件,而是让程序都在Docker容器中运行.

docker使用场景

- - 开源软件 - ITeye博客
Docker应用容器相对于 VM 有以下几个优点:. 1、启动速度快,容器通常在一秒内可以启动,而 VM 通常要更久. 2、资源利用率高,一台普通PC 可以跑上千个容器,你跑上千个 VM 试试. 3、性能开销小, VM 通常需要额外的 CPU 和内存来完成 OS 的功能,这一部分占据了额外的资源. 因为VM 的 Hypervisor 需要实现对硬件的虚拟化,并且还要搭载自己的操作系统,自然在启动速度和资源利用率以及性能上有比较大的开销.

Docker 监控实战

- - SegmentFault 最新的文章
如今,越来越多的公司开始使用 Docker 了,现在来给大家看几组数据:. 2 / 3 的公司在尝试了 Docker 后最终使用了它. 也就是说 Docker 的转化率达到了 67%,而转化市场也控制在 60 天内. 越大型的公司越早开始使用 Docker. 研究发现主机数量越多的公司,越早开始使用 Docker.

Docker入门例子

- - 开源软件 - ITeye博客
Docker 提供了一个可以运行应用程序的容器. Docker 容器并不包含一个单独的操作系统,而是基于已有的基础设施中操作系统提供的功能来运行的. 2 Docker安装与启动. #将docker加入开机启动. 3 Docker的14个基础命令. 检查Docker的安装是否正确. 运行"Hello World"例子.

Docker 调试技巧

- - 行业应用 - ITeye博客
摘要: 『重用』容器名 但我们在编写/调试Dockerfile的时候我们经常会重复之前的command,比如这种docker run --name jstorm-zookeeper zookeeper:3.4,然后就容器名就冲突了. 但我们在编写/调试Dockerfile的时候我们经常会重复之前的command,比如这种.