一直在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. 【Java并发011】原理层面:CAS操作全解析

    一.前言 volatile关键字是Java51个关键字中用的比较少的一个,它是一个与多线程并发的关键字,但是实际开发中,一般不会用到,使用synchronize+wait()+notify()/not ...

  2. c3 linearization详解

    MRO MRO 全称方法解析顺序(Method Resolution Order),在多重继承和多继承存在的时候,寻找属性及方法的顺序. 深度优先(DFS)与广度优先(BFS) python2 所用的 ...

  3. 【每日一题】【map操作】【滑动窗口所需元素】2021年12月22日-76. 最小覆盖子串

    给你一个字符串 s .一个字符串 t .返回 s 中涵盖 t 所有字符的最小子串.如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" . 注意: 对于 t 中重复字符 ...

  4. 比 JSON.stringify 快两倍的fast-json-stringify

    前言 相信大家对JSON.stringify并不陌生,通常在很多场景下都会用到这个API,最常见的就是HTTP请求中的数据传输, 因为HTTP 协议是一个文本协议,传输的格式都是字符串,但我们在代码中 ...

  5. 同时容器,k8s和docker区别是什么? 如何简单理解k8s和docker

    1.k8s是一个开源的容器集群管理系统,可以实现容器集群的自动化部署.自动扩缩容.维护等功能. 2.Docker是一个开源的应用容器引擎,开发者可以打包他们的应用及依赖到一个可移植的容器中,发布到流行 ...

  6. python 之选择结构(if --elif --else)

    python中有三种结构:顺序结构.选择结构.循环结构,此处介绍选择结构. if -- else 结构: if 判断条件: 执行语句 else: 执行语句 当if后面的判断条件为真(True)时,执行 ...

  7. 如何自定义调整bootstrap的模态框大小

    背景 项目遇到一个需求,一个大表格放到模态框中,总是会出现撑开的效果,换了文档最大的modal-lg样式还不能解决,原因就是官方不支持更大号的模态框,需要自定义. 经过尝试理解,总结出调整模态框大小通 ...

  8. [编程基础] Python模块和包使用笔记

    本文探讨Python模块和Python包,这两种机制有助于模块化编程. 模块化编程是指将大型笨拙的编程任务分解为单独的,较小的,更易于管理的子任务或模块的过程.然后可以像构建模块一样将各个模块拼凑在一 ...

  9. [OpenCV实战]34 使用OpenCV进行图像修复

    目录 1 什么是图像修复 1.1 INPAINT_NS : Navier-Stokes based Inpainting 1.2 INPAINT_TELEA : Fast Marching Metho ...

  10. 如何在Github上创建一个新仓库

    Hi,欢迎大家在有空的时候做客[江涛学编程],这里是2023年的第6篇原创文章,新年新气象,在这里我祝读者朋友们都好好的, 老规矩,拍拍手,上菜. 今天没有啥东西要跟家人们分享,就两个字,看图!!! ...