Docker进阶

Docker容器命名与重命名

命名

  • docker run -it -p 80:80 --name containerName img:tag /bin/bash

重命名

  • docker rename old new

指定Hostname

  • docker run -h hostname -it -p 80:80 --name containerName img:tag /bin/bash

Docker容器CPU资源

  • docker run -it --cpu-shares 1024 docker.io/img:tag /bin/bash # --cpu-share指定在主机资源紧缺时该容器分配到的cpu的份额权重
  • 在容器中使用cat /sys/fs/cgroup/cpu/cpu.shares查看

设置容器CPU亲和力

  • docker run -it --name container1 docker.io/img:tag --cpuset-cpus 0-1 /bin/bash # --cpuset-cpus只在多核上有效

磁盘映射

  • docker run -it --name container1 --device /dev/sda:/dev/sda -p 80:80 docker.io/name:tag /bin/bash # 使用--device映射磁盘

目录(卷)映射

  • docker run -it --name container -v /src:/dst -p 80:80 --device /dev/sda:/dev/sda docker.io/name:tag /bin/bash # 使用-v映射目录

容器特权

  • 默认情况下, 容器是在没有特权模式下运行, 在该模式下虽然我们进入到bash中看到为root用户, 但是其实它是一个普通用户, 没有特权, 不能使用mount等命令
  • docker run -it --name container1 --cpuset-cpu 0,1 --cpu-shares 512 --privileged=true docker.io/name:tag /bin/bash

Docker的网络

Docker的网络模式

  1. host模式: 使用--net=host指定
  2. container模式: 使用--net=container=NAME|ID指定
  3. none模式: 使用--net=none指定
  4. bridge模式: 使用--net=bridge指定, 为默认, 当容器启动之后会自动分配动态ip; 在容器中使用pipwork工具为容器临时分配固定ip地址, 为静态ip地址

为容器配置静态ip

  1. 配置桥接网络

    • yum install bridge-utils -y
    • cd /etc/sysconfig/network-scripts
    • cp ifconfig-ens33 ifconfig-ens33.bak
    • 编辑ifconfig-ens33
      • 去掉与IPV4有关的条目: IPADDR, NETMASK, GATEWAY, DNS, 为什么? -> 因为创建了br0设备, 计算机就是通过br0通信的, 需要将ens33上的IPV4地址放到br0上, 接下来只要在ens33中告诉计算机ens33的被添加到br0上即可
      • 添加BRIDGE="br0"告诉计算机(bridge-utils工具)ens33被添加到了br0上, IPV4的地址到br0上找即可
    • 创建ifconfig-br0

    DEVICE="br0"
    NM_CONTROLLED="yes"
    ONBOOT="yes"
    TYPE="Bridge"
    BOOTPROTO=none
    IPADDR=ens33的ip
    NETMASK=ens33的掩码
    GATEWAY=ens33的网关
    DNS1=ens33指定的DNS
    • 重启网络服务: service network restart, 不要使用systemctl restart network, 可能会有问题, 以后凡是与network有关的使用service
    • ifconfig查看是否新添加了br0接口, 发现ens33的ip跑到了br0接口上, br0与ens33的mac地址是一样的, 因为br0底层还是走ens33物理网卡
  2. 启动容器, 其中--net=none, docker run -itd --name container1 docker.io/name:tag /bin/bash --net=none

  3. 使用pipework命令配置容器ip

    • pipework br0 containerId 192.168.1.10/24@192.168.1.1

Docker进阶的更多相关文章

  1. 【云计算】Docker云平台—Docker进阶

    Docker云平台系列共三讲,此为第二讲:Docker进阶 参考资料: 五个Docker监控工具的对比:http://www.open-open.com/lib/view/open1433897177 ...

  2. Docker:四、Docker进阶 Windows Docker IIS 部署

    前面的三篇docker 文档大家看的肯定不过瘾,自己可能也已经上手一试了...不知道有没有发现问题... 哈哈... 我来说说我遇到的问题哦 一.windows docker 镜像越来越大 默认的do ...

  3. Ubuntu Server下docker实战 02: docker进阶配置

    在上一篇文章里<Ubuntu Server下docker实战 01: 安装docker>,我们已经把docker安装起来了,并运行了一个hello-world 这一篇,我们继续讲进阶配置. ...

  4. docker进阶之路-基础篇 | 一:环境搭建

    转载请注明作者及出处: 作者:银河架构师 原文链接:https://www.cnblogs.com/luas/p/12061747.html 一.准备工作 查看内核 Docker 要求 CentOS ...

  5. docker进阶之路-基础篇 | 二:portainer安装与基本使用

    转载请注明作者及出处: 作者:银河架构师 原文链接:https://www.cnblogs.com/luas/p/12061755.html ​简介 Portainer 是轻量级,跨平台,开源的管理D ...

  6. 斌哥的 Docker 进阶指南—监控方案的实现

    过去的一年中,关于 Docker 的话题从未断过,而如今,从尝试 Docker 到最终决定使用 Docker 的转化率依然在逐步升高,关于 Docker 的讨论更是有增无减.另一方面,大家的注意力也渐 ...

  7. 斌哥的 Docker 进阶指南

    过去的一年中,关于 Docker 的话题从未断过,而如今,从尝试 Docker 到最终决定使用 Docker 的转化率依然在逐步升高,关于 Docker 的讨论更是有增无减.另一方面,大家的注意力也渐 ...

  8. Docker进阶使用1

    容器间共享文件 Docker 的容器和外部环境是相对隔离的,并且容器是一次性的,运行结束后并不会有任何的持久化的文件或者数据.所以当我们需要做应用数据的持久化,或者保留应用的日志文件时,我们需要用到 ...

  9. docker进阶-搭建私有企业级镜像仓库Harbor

    为什么要搭建私有镜像仓库   对于一个刚刚接触Docker的人来说,官方的Docker hub是用于管理公共镜像.既然官方提供了镜像仓库我们为什么还要去自己搭建私有仓库呢?虽然也可以托管私有镜像.我们 ...

随机推荐

  1. asp.net mvc 中通过url字符串获取controller和action

    在项目中遇到需要通过url字符串获取controller和action的情况,百度了 一下找到了一个可以用的方法 ,在这里分享和记录一下 这个方法是在博客园的博问里看到的 原文地址是http://q. ...

  2. 【SQL】- 基础知识梳理(一) - 数据库

    一.引言 知识分享这个事情在公司会议上被提出过几次,可一直因各种事情耽搁下来,“我不如地狱,谁入地狱”,怀着这样一种心态,写下了 数据库系列知识分享. 本文将一步步通过循序渐进的方式带你去了解数据库. ...

  3. MongoDB插入时间不正确的问题

    关于mongodb插入时间不正确的问题 今天在给mongodb插入日期格式的数据时发现,日期时间相差8个小时,原来存储在mongodb中的时间是标准时间UTC +0:00,而中国的时区是+8.00 . ...

  4. 十五、Node.js-fs模块(中)

    有了上一篇JS同步异步知识的铺垫,我们一起学习一下fs模块的同步和异步知识: Node.js内置的fs模块就是文件系统模块,负责读写文件. 和所有其它JavaScript模块不同的是,fs模块同时提供 ...

  5. ecliplse导入tomcat

    上面点击之后,弹出的窗口最大化: 导入成功之后如下图:

  6. 自用 Pycharm 主题配色分享(主题才是开发第一生产力)

    写在前面的话 是的,我又回来了,上一篇[使用 Visual Studio Code(VSCode)搭建简单的 Python + Django 开发环境]才说真香,结果用两天就发现很多恶心的问题拦住了菜 ...

  7. 关于小程序bindregionchange事件在IOS崩溃的问题

    先说下原因,我在bindregionchange事件触发函数中设置了经纬度,而latitude和longitude是绑定在map组件上的,滑动地图的过程中重新设置了地图中心点的经纬度,会导致地图本身的 ...

  8. Django 学习:为窗体加上防机器人的验证机制(验证码功能)

    这里我们使用 django-simple-captcha 模块,官方介绍如下:https://github.com/mbi/django-simple-captcha 一键安装: pip instal ...

  9. loj #2116. 「HNOI2015」开店

    #2116. 「HNOI2015」开店 题目描述 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到人生哲学.最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱.这样的想法当然非 ...

  10. 3C - Youmu

    (ans & arr[j]) == ans 保证高位已有值不失效. ((ans[j] >> (i - 1)) & 1) == 1 当前位为1,cnt++, cnt > ...