( ̄︶ ̄)↗  发表于 2021-11-16 22:37:15

docker容器魔方小白向

本帖最后由 ( ̄︶ ̄)↗  于 2021-11-16 22:41 编辑

本文不是创建教程,是帮助大家理解docker run -d --name=wxedge --restart=always --privileged
--net=host--memory 800m --memory-swap
800m --tmpfs /run --tmpfs /tmp -v /mnt/sda1/wxedge_storage:/storage:rw -e
REC=false onething1/wxedgedocker run -d 调用docker创建容器命令--name=wxedge 容器的名字,可随意命名,比如多开时,可命名wxedge1,wxedge2--restart=always 重启宿主机时自动启动该容器--privileged 容器内的root拥有真正的root权限,必开--net=host网络模式,在网心云模式中可用host和macvlan,macvlan多开必需--memory 800m 内存可使用最大限制,以m为单位,例如4096m为4GB内存大小--memory-swap800m 设置 内存+swap 的使用限额。我们在安装系统的时候已经建立了 swap 分区。swap 分区通常被称为交换分区,这是一块特殊的硬盘空间,即当实际内存不够用的时候,操作系统会从内存中取出一部分暂时不用的数据,放在交换分区中,从而为当前运行的程序腾出足够的内存空间。--tmpfs /run 无需了解--tmpfs /tmp 无需了解-v /data/wxedge_storage:/storage:rw 挂载硬盘路径,实际硬盘文件夹位置和大小映射到容器中的storage文件夹中-eREC=false 第一次安装设置为false时,不会启动默认任务,默认为true,仅第一次安装有效。onething1/wxedge 指定下载的映像名,默认下载latset,即下载最新版,onething1/wxedge:2.2.17 可指定下载2.2.17版本
多开创建docker网络接口命令,需要在ssh下创建docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 macnetdocker network create -d 调用创建网络接口命名macvlan 创建该接口使用的模式--subnet=192.168.1.0/24 网段,--gateway=192.168.1.1 例如你的路由器ip为10.10.1.1,那网段一般为10.10.1.0/24,--gateway=10.10.1.1-o parent=eth0 使用ifconfig查看网口名称,一般有br-lan或eth0macnet 创建该网络的名称,可自定义
多开实例打开网卡混杂模式ip link set eth0 promisc on
创建网络docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 macnet
创建wxedge1docker run -d --name=wxedge1 --restart=always --privileged --net=macnet --ip=192.168.1.251--memory 800m --memory-swap 800m --tmpfs /run --tmpfs /tmp -v /mnt/sda1/wxedge_storage:/storage:rw -e REC=false onething1/wxedge
创建wxedge2docker run -d --name=wxedge2 --restart=always --privileged --net=macnet --ip=192.168.1.252--memory 800m --memory-swap 800m --tmpfs /run --tmpfs /tmp -v /mnt/sda2/wxedge_storage:/storage:rw -e REC=false onething1/wxedge
注意红色部分的区别

飞哥头很大 发表于 2021-11-18 15:00:29

赞赞赞 就是一大堆代码看得头有点晕

133****1373 发表于 2021-12-19 15:21:34

docker: Error response from daemon: failed to create the macvlan port: operation not supported.
总是提示这!我能双拨号 只是想指定网口而已 搞不懂啊

( ̄︶ ̄)↗  发表于 2021-12-20 11:18:40

133****1373 发表于 2021-12-19 15:21
docker: Error response from daemon: failed to create the macvlan port: operation not supported.
总是 ...

用的是macvlan?还是host?docker hub有指定网口的指令

133****1373 发表于 2021-12-21 15:13:00

( ̄︶ ̄)↗  发表于 2021-12-20 11:18
用的是macvlan?还是host?docker hub有指定网口的指令

用的是macvlan会提示上面这个错误!用host 加-e NIC=eth* 指定一个拨号网卡,启动使用都正常,但是并没有跑这网卡,都跑另一个拨号网卡去了
我是OPENWRT 双线双网卡拨号,想分别跑两个容器

( ̄︶ ̄)↗  发表于 2021-12-22 12:18:57

133****1373 发表于 2021-12-21 15:13
用的是macvlan会提示上面这个错误!用host 加-e NIC=eth* 指定一个拨号网卡,启动使用都正常,但是并没有 ...

这证明这部分你还没理解
创建网络
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 macnet
网口要指定好,网段要跟你原来的网段一致

133****1373 发表于 2021-12-22 15:56:12

本帖最后由 133****1373 于 2021-12-22 16:40 编辑

( ̄︶ ̄)↗  发表于 2021-12-22 12:18
这证明这部分你还没理解
创建网络
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway ...
网络有成功创建,还是这个错误提示
docker: Error response from daemon: failed to create the macvlan port: operation not supported.我那个网口是直接拨号获得公网IP的,所有这个办法应该不行

( ̄︶ ̄)↗  发表于 2021-12-23 00:15:38

133****1373 发表于 2021-12-22 15:56
网络有成功创建,还是这个错误提示
docker: Error response from daemon: failed to create the macvlan p ...

直接公网不能使用该方法

133****1373 发表于 2021-12-23 09:54:41

( ̄︶ ̄)↗  发表于 2021-12-23 00:15
直接公网不能使用该方法

感谢你的解答!
docker: Error response from daemon: failed to create the macvlan port: operation not supported已经解决,是op没有安装kmod-macvlan
还有直接拨号获得公网确实不能使用,看来得去折腾PVE跑双OP....

明天是昨天 发表于 2021-12-24 17:20:25

有一个问题请教一下docker创建第一个容器的之后,地址是设备局域网IP:18888,那通过macvlan创建第二个容器之后,地址是怎么获得的,我现在的办法是,去路由器,找最新刚刚连接到的设备,找到地址:18888就可以了,但是这毕竟是个笨方法,请教一下,用macvlan创建的这个容器,怎么科学的方式获得的,谢谢大神

页: [1] 2 3
查看完整版本: docker容器魔方小白向