Docker 实例

Docker 实例,第1张

Docker 实例

1、创建两个容器实例:docker01 和 docker02
要求:
1)docker01 运行在cpu0上
2)docker02 运行在cpu1上
3)测试docker01 和 docker02使用的CPU百分比

docker run -itd -c 512 --cpuset-cpus 0 --name docker01 -h dockertest01 centos bash
docker run -itd -c 1024 --cpuset-cpus 1 --name docker02 - h dockertest02 centos bash

2、Docker窗口运行结束后自动释放系统资源
应用场景:系统压力测试

docker run -it  --rm --name dockertest01 centos sleep 5
# 如果出现以下信息:
WARNING: IPv4 forwarding is disabled. Networking will not work
# 解决方法:
 cat /proc/sys/net/ipv4/ip_forward
 # 如果为:0
 # 执行以下命令:
 echo 1 > !$^C	或 systemctl restart docker

3、创建一个docker实例,只允许使用2个cpu核心,内存只能使用128M

docker run -it -m 128m --cpuset-cpus 0,1 --name dockertest01 -h dockertest01 centos bash

4、将本地目录映射到docker实例中

docker run -itd -v /var/www/html:/var/www/html[:ro|rw] --name webserver01 -h webserver01 centos7

ro:只读
rw:读写
-----
目录继承 (--volumes-from):实现继承挂载指定容器的挂载目录
docker run -itd --vlolumes-from 容器名称[:ro|rw] --name nginx01 centos7:latest

5、将本地物理设备/dev/sda映射到docker实例中,配置实例的写入配额为1MB

docker run -itd -v /var/www/html:/var/www/html[:ro|rw] --device /dev/sda:/dev/sda --name docker01 -h docker01 --device-write-bps:1MB centos7 bash


6、docker实例的网络配置

  • 创建桥设备br0
    - 安装包:rpm -ivh /mnt/Packages/bridge-utils-1.5-9.el7.x86_64.rpm

  • 将网卡绑定到桥设备上:
    - 备份网卡配置:cp /etc/sysconfig/network-scripts/ifcfg-eth[x] /目标目录
    - 编辑网卡配置:
    - vim ifcfg-eth[x] 添加配置:BRIDGE=“br0”
    - 创建桥设备br0配置文件:
    ```bash
    vim ifcfg-br0

      DEVICE="br0"
      NM_ConTROLLED="yes"
      BOOTPROTO=none
      onBOOT=yes
      TYPE="Bridge"
      IPADDR=
      NETMASK=
      GATEWAY=
      DNS1=114.114.114.114
      ```
    
  • 下载pipework包 : https://github.com/jpetazzo/pipework

  • wget https://github.com/jpetazzo/pipework/archive/refs/heads/master.zip

7.创建Docker私有仓库
- 环境:
- 私有仓库地址:192.168.1.6
- Docker服务器地址:192.168.1.7
- 使用docker私有仓库来pull/push镜像

前期准备:
- 关闭系统防火墙
- 关闭selinux
- 重启docker服务

配置docker私有仓库

docker search registry
docker pull registry
docker run -d -p 5000:5000 -v /opt/registry:/var/lib/registry registry

查看私有仓库的镜像列表:
http://ip:5000/v2/_catalog
示例:http://10.211.55.4:5000/v2/_catalog

docker服务器配置docker的私有仓库

vim /etc/docker/daemon.json

{
	"insecure-registries":["10.211.55.4:5000"]
}

# insecure-registries 不安全的注册(非https协议)

上传docker 镜像至私有仓库

# 加载镜像文件
docker load -i <镜像名>
docker tag <镜像名:标签> <私有仓库地址/新镜像名:标签>
docker tag busybox:latest 10.211.55.4:5000/busybox:latest
docker images
docker push 10.211.55.4:5000/busybox
# 删除镜像:
docker rmi <镜像名称>

// http://10.211.55.4:5000/v2/_catalog

{
“repositories”: [
“busybox”
]
}

使用harbor搭建Docker私有仓库
- harbor: 由VMWare公司提供的开源的Docker Registry 项目

搭建步骤:

systemctl stop firewalld && systemc disable firewalld
yum install yum-utils device-mapper-persistent-data lvm2 -y
# 配置docker yum源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker-ce 及 相关工具
yum install docker-ce docker-ce-cli containerd.io -y
# 启动docker服务并开启开机自启动
systemctl start docker && systemctl enable docker
# 安装docer-compose -- 负责管理Docker容器集群,实现快速编排
yum install epel-release -y
# 安装pip
yum install python-pip -y
# 更新pip
pip install --upgrade pip
# 使用pip安装docker-compose
pip install -U -i https://pypi.tuna.tsinghua.edu.cn/simple docker-compose

# 下载hardor安装文件
wget https://harbor.orientsoft.cn/harbor-v1.5.0/harbor-offline-installer-v.1.5.0.tgz
tar -zxvf harbor-offline-installer-v.1.5.0.tgz -C <目标目录>

# 配置harbor
vim harbor.cfg
#修改第7行和68行
hostname = 10.211.55.4 or hostname
harbor_admin_password = 
# 创建存放Image镜像目录
mkdir ../data
# 初始化harbor
./prepare
# 安装harbor
./install.sh

# 查看harbor镜像
http://ip/harbor/sign-in (用户:admin)

vim /etc/docker/daemon.json

{
	"insecure-registries":["10.211.55.4"]
}


# 登录harbor 私有仓库
docker login 10.211.55.4
username:admin
password:

# 上传镜像至harbor私有仓库
docker images
docker tag source_image:latest 10.211.55.4/项目名称/镜像名:latest
docker push 10.211.55.4/项目名称/镜像名:latest

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4965092.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存