Docker进阶
2024-09-30 21:10:04
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的网络模式
- host模式: 使用--net=host指定
- container模式: 使用--net=container=NAME|ID指定
- none模式: 使用--net=none指定
- bridge模式: 使用--net=bridge指定, 为默认, 当容器启动之后会自动分配动态ip; 在容器中使用pipwork工具为容器临时分配固定ip地址, 为静态ip地址
为容器配置静态ip
配置桥接网络
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物理网卡
启动容器, 其中
--net=none
,docker run -itd --name container1 docker.io/name:tag /bin/bash --net=none
使用pipework命令配置容器ip
pipework br0 containerId 192.168.1.10/24@192.168.1.1
最新文章
- pcl曲面重建模块-贪婪三角形投影算法实例
- 简单排序,C# 直接使用 List。
- tracer
- PHP redis负载均衡代码
- c 函数及指针学习 10
- activiti自定义流程之Spring整合activiti-modeler5.16实例(七):任务列表展示
- poj 1947 树形dp
- JavaScript笔记 第十六章 匿名函数和闭包
- tostring的用法
- JAVA泛型-擦除
- 关于NoClassDefFoundError和ClassNotFoundException异常
- Spring + Mybatis 项目实现动态切换数据源
- JVM类加载机制---类加载的过程
- saltstack一
- JDK源码笔记--Object
- 互联网推送服务原理:长连接+心跳机制(MQTT协议)
- linux内核分析第六周学习笔记
- 扩容swap空间
- dede调用多级导航的方法
- iOS - WKWebView那些坑