使用Docker搭建EPICS的IOC记录
一直在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记录的更多相关文章
- 【译文】用Spring Cloud和Docker搭建微服务平台
by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...
- 基于Docker搭建MySQL主从复制
摘要: 本篇博文相对简单,因为是初次使用Docker,MySQL的主从复制之前也在Centos环境下搭建过,但是也忘的也差不多了,因此本次尝试在Docker中搭建. 本篇博文相对简单,因为是初次使用D ...
- 基于 Docker 搭建 MySQL 主从复制
本篇博文相对简单,因为是初次使用Docker,MySQL的主从复制之前也在Centos环境下搭建过,但是也忘的也差不多了,因此本次尝试在Docker中搭建. 根据网上教程走还是踩了一些坑,不过所幸最终 ...
- docker搭建lnmp环境(问题,资料,命令)
入门参考 http://www.runoob.com/docker/docker-install-nginx.html 十大常用命令玩转docker 1. #从官网拉取镜像 docker pull & ...
- Spring Cloud和Docker搭建微服务平台
用Spring Cloud和Docker搭建微服务平台 This blog series will introduce you to some of the foundational concepts ...
- 用Docker搭建一个支持https的nginx代理服务
用Docker搭建一个支持https的nginx代理服务 说明:本文所提的服务只是作者平常测试使用,可能含有未知bug或不成熟的解决方案,仅供参考,请不要用于正式环境,当然,使用过程中有任何问题欢迎提 ...
- docker搭建elasticsearch、kibana,并集成至spring boot
步骤如下: 一.基于docker搭建elasticsearch环境 1.拉取镜像 docker pull elasticsearch5.6.8 2.制作elasticsearch的配置文件 maste ...
- [转帖]基于docker 搭建Prometheus+Grafana
基于docker 搭建Prometheus+Grafana https://www.cnblogs.com/xiao987334176/p/9930517.html need good study 一 ...
- 使用Docker搭建Spark集群(用于实现网站流量实时分析模块)
上一篇使用Docker搭建了Hadoop的完全分布式:使用Docker搭建Hadoop集群(伪分布式与完全分布式),本次记录搭建spark集群,使用两者同时来实现之前一直未完成的项目:网站日志流量分析 ...
- 基于 Docker 搭建 Consul 多数据中心集群
本文介绍了在 Windows 10 上基于 Docker 搭建 Consul 多数据中心集群的步骤,包括 Consul 镜像的拉取和容器的创建,每个数据中心对应服务端节点和客户节点的创建,节点之间相互 ...
随机推荐
- kettel
下载教程:(目前最高版本7.1) 1.网址:https://community.hitachivantara.com/docs/DOC-1009855 2.
- 【每日一题】【链表.next.next判空条件】141. 环形链表/NC4 判断链表中是否有环-211120/220123
给你一个链表的头节点 head ,判断链表中是否有环. 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环. 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链 ...
- 3D旋转不能对齐,元素边倾斜
1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset=" ...
- 线程、GIL全局解释器锁、进程池与线程池
目录 多进程实现TCP服务端并发 互斥锁代码实操 线程理论 创建线程的两种方式 多线程实现TCP服务端并发 线程的诸多特性 GIL全局解释器锁 验证GIL的存在 GIL与普通互斥锁 python多线程 ...
- uniapp安装和使用
工具安装 开发uni-app需要安装HBuilder X. 下载地址:https://www.dcloud.io/hbuilderx.html. 下载成功后直接解压即可 创建第一个uni-app 点击 ...
- python 集合常用操作
集合的特性 无序.不重复.可迭代 常用api 创建一个集合 需要显式地使用set()方法来声明,如果使用字面量{}来声明解析器会认为这是一个字典. add() 往集合中添加一个元素 demo = se ...
- Python从0到1丨细说图像增强及运算
摘要:本文主要讲解常见的图像锐化和边缘检测方法,即Roberts算子和Prewitt算子. 本文分享自华为云社区<[Python从零到壹] 五十七.图像增强及运算篇之图像锐化Roberts.Pr ...
- 一份前端够用的 Linux 命令
前言 你好,我是悦创.我用 VuePress 搭建博客,又实现了 GitHub 和 Gitee Pages 的自动部署,但我最终还是决定自己建站,而在建站的过程中,必不可少会用到 Linux 命令,所 ...
- sikulix___自动化办公___重复性_机械性_的电脑操作___python脚本___Java运行环境下德jar包完成自动化测试相关___截图编程控制键盘鼠标
sikulix___自动化办公___重复性_机械性_的电脑操作___python脚本___Java运行环境下德jar包完成自动化测试相关___截图编程控制键盘鼠标 应用场景: 公司内的大佬更改了xml ...
- SPOJ PHONELST - Phone List | UVA11362 Phone List | LibreOJ10049. 「一本通 2.3 例 1」Phone List
简要题意 \(t\) 组数据,每组数据给定 \(n\) 个长度不超过 \(10\) 的数字串,判断是否有两个字符串 \(A\) 和 \(B\),满足 \(A\) 是 \(B\) 的前缀,若有,输出 N ...