一直在centos使用KVM跑虚拟机搭建IOC,后来又使用zstack,web环境下管理虚拟机就更方便了。

最近电子源系统需要把束测系统跑起来,空间比较局促,不好放置服务器机柜。想着用一台工控机跑起来,就尝试用用docker,开始一直在windows下直接装docker,docker相关网络设置各种不顺利,折腾了好几天又找控制组的小兄弟帮忙,还是不行,就放弃在windows下直接装docker了。后来使用小兄弟推荐的vmware环境虚拟机,建虚拟机时设置网络桥接时也不顺利,之后还是改回比较熟悉的virtualbox,之后在virtualbox下建centos虚拟机,在虚拟机上安装docker,因为需要跑好几个IOC,不好用端口映射的方式搞,需要跑IOC的容器能和宿主虚拟机以及其他的opi等子网的机器和示波器摄像头等设备同一网段,按这里的指导设置:

https://blog.csdn.net/kongxx/article/details/73477932

http://www.louisvv.com/archives/695.html

macvlan,pipework各种尝试也是不顺利,容器ping不通子网其他设备。后来看上面文章后面的评论,别人在虚拟机上跑docker也是这样,裸机直接centos装docker就成功了。之后用另外一台工控机直接装centos7之后就跑通了。 暑假这段时间终于调通了用docker做以前虚拟机做的事了

大致说说过程:

一台3网口的工控机,装好centos7 x86_64后,把两个网口做成一个主备bond,再桥接一下,接子网,做bond的好处是任何一个网卡坏了或网线断线,另一个网口马上接替。

之后装好docker,主要参考:

https://www.runoob.com/docker/centos-docker-install.html

附跑IOC容器的命令:

docker run -dit --restart=always --name IOCflag1 --privileged=true --network=none -v /opt/epics:/opt/epics 202.38.77.127:8082/lup/centos7ioc /usr/sbin/init

以及/etc/rc.local里的命令:

brctl addif br0 bond0
brctl addif br0 eno2
brctl addif br0 eno3
ip route del default;ip route add default via 202.38.77.254 dev enp0s31f6
pipework br0 IOCflag1 192.168.4.116/24@192.168.4.101
pipework br0 IOCflag2 192.168.4.117/24@192.168.4.101
pipework br0 IOCflag3 192.168.4.118/24@192.168.4.101
pipework br0 IOCict 192.168.4.119/24@192.168.4.101

还有:

[beam@localhost ~]$ cat /etc/docker/daemon.json 
{
    "dns" : [
        "202.38.64.17",
        "202.38.64.56"],
    "registry-mirrors":[
        "https://docker.mirrors.ustc.edu.cn",
        "https://registry.docker-cn.com",
        "https://reg-mirror.qiniu.com/",
        "http://hub-mirror.c.163.com"],
    "insecure-registries": [
        "http://202.38.77.127:8082"]
}

这样开机自动就可以启动起IOC了,工控机跑4个IOC的top截图,3个1440*1080分辨率的AravisGigE IOC和一个示波器的IOC:

看样子CPU占了80%左右,如果开4个IOC虚拟机估计就跑不动了。

https://blog.csdn.net/yjk13703623757/article/details/80458469

https://blog.csdn.net/qq_38417808/article/details/83000799

###################################

附:后来在Zstack的云主机上测试pipework网桥方式分配ip的容器可以独立IP和其他主机联网!!宿主机可以是虚拟机了

使用Docker搭建EPICS的IOC记录的更多相关文章

  1. 【译文】用Spring Cloud和Docker搭建微服务平台

    by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...

  2. 基于Docker搭建MySQL主从复制

    摘要: 本篇博文相对简单,因为是初次使用Docker,MySQL的主从复制之前也在Centos环境下搭建过,但是也忘的也差不多了,因此本次尝试在Docker中搭建. 本篇博文相对简单,因为是初次使用D ...

  3. 基于 Docker 搭建 MySQL 主从复制

    本篇博文相对简单,因为是初次使用Docker,MySQL的主从复制之前也在Centos环境下搭建过,但是也忘的也差不多了,因此本次尝试在Docker中搭建. 根据网上教程走还是踩了一些坑,不过所幸最终 ...

  4. docker搭建lnmp环境(问题,资料,命令)

    入门参考 http://www.runoob.com/docker/docker-install-nginx.html 十大常用命令玩转docker 1. #从官网拉取镜像 docker pull & ...

  5. Spring Cloud和Docker搭建微服务平台

    用Spring Cloud和Docker搭建微服务平台 This blog series will introduce you to some of the foundational concepts ...

  6. 用Docker搭建一个支持https的nginx代理服务

    用Docker搭建一个支持https的nginx代理服务 说明:本文所提的服务只是作者平常测试使用,可能含有未知bug或不成熟的解决方案,仅供参考,请不要用于正式环境,当然,使用过程中有任何问题欢迎提 ...

  7. docker搭建elasticsearch、kibana,并集成至spring boot

    步骤如下: 一.基于docker搭建elasticsearch环境 1.拉取镜像 docker pull elasticsearch5.6.8 2.制作elasticsearch的配置文件 maste ...

  8. [转帖]基于docker 搭建Prometheus+Grafana

    基于docker 搭建Prometheus+Grafana https://www.cnblogs.com/xiao987334176/p/9930517.html need good study 一 ...

  9. 使用Docker搭建Spark集群(用于实现网站流量实时分析模块)

    上一篇使用Docker搭建了Hadoop的完全分布式:使用Docker搭建Hadoop集群(伪分布式与完全分布式),本次记录搭建spark集群,使用两者同时来实现之前一直未完成的项目:网站日志流量分析 ...

  10. 基于 Docker 搭建 Consul 多数据中心集群

    本文介绍了在 Windows 10 上基于 Docker 搭建 Consul 多数据中心集群的步骤,包括 Consul 镜像的拉取和容器的创建,每个数据中心对应服务端节点和客户节点的创建,节点之间相互 ...

随机推荐

  1. i春秋Fuzz

    点开只有三个单词plz fuzz parameter 大概意思就是让我们疯狂尝试参数... 我们通过url尝试传入参数 ?user=123 ?name=123 ?username=123 ?id=12 ...

  2. C温故补缺(三):存储类声明符(auto,register,extern,static)

    auto,register,extern,static 四个存储类声明符,用于定义变量/函数的作用域和声明周期 ① auto:自动变量,即普通变量,在平时定义变量时会自动赋予其auto类型 被auto ...

  3. thinkphp6文件上传自定义命名规则

    think官方自带的命名规则有三种 规则 描述 date 根据日期和微秒数生成 md5 对文件使用md5_file散列生成 sha1 对文件使用sha1_file散列生成 其中md5和sha1规则会自 ...

  4. 【Day01】Spring Cloud入门-架构演进、注册中心Nacos、负载均衡Ribbon、服务调用RestTemplate与OpenFeign

    〇.课程内容 课程规划 Day1 介绍及应用场景 Day2 组件介绍及 广度 Day3 设计思想.原理和源码 Day4 与容器化的容器(服务迁移.容器编排) 一.业务架构的演进 1.单体架构时代 缺陷 ...

  5. 提高python异步效率

    uvloop #Python标准库中提供了asyncio模块,用于支持基于协程的异步编程. #uvloop是 asyncio 中的事件循环的替代方案,替换后可以使得asyncio性能提高.事实上,uv ...

  6. 使用命令行运行用例时提示python.exe: Error while finding module specification for 'testcase_1.Test'.....

    文件路径 输入命令 D:\demo>python -m unittest unittest_1/testcase_1.Test结果提示 ModuleNotFoundError: No modul ...

  7. js将时间戳转成时间格式

    let start_time = 1653007401082, date = new Date(+start_time), Y = date.getFullYear() + '-', M = (dat ...

  8. cs231n学习笔记——lecture6 Training Neural Networks

    该博客主要用于个人学习记录,部分内容参考自:[基础]斯坦福cs231n课程视频笔记(三) 训练神经网络.[cs231n笔记]10.神经网络训练技巧(上).CS231n学习笔记-训练神经网络.整理学习之 ...

  9. Spark详解(03) - Spark3.0.0运行环境安装

    Spark详解(03) - Spark3.0.0运行环境安装 Spark运行模式 Spark常见部署模式: Local模式:在本地部署单个Spark服务 所谓的Local模式,就是不需要其他任何节点资 ...

  10. 如何在 Nuxt 3 中使用 wavesurfer.js

    安装 wavesurfer.js 在项目中安装 wavesurfer.js npm install --save wavesurfer.js 常规方式引入 如果你的根目录中没有 components ...