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
- 创建ifconfig-br0
DEVICE="br0" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Bridge" BOOTPROTO=none IPADDR=ens33的ip NETMASK=ens33的掩码 GATEWAY=ens33的网关 DNS1=ens33指定的DNS
启动容器, 其中
--net=none
,docker run -itd --name container1 docker.io/name:tag /bin/bash --net=none
使用pipework命令配置容器ip
pipework br0 containerId 192.168.1.10/[email protected]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。