- 2020-07-29
-
发表了主题帖:
docker容器内修改系统时间
最近在项目中需要修改docker容器内时间,但是用date命令会显示权限不足,于是百度查到创建容器需要添加--cap-add SYS_TIME参数(可以创建一个简单的ubuntu容器验证docker run -it --cap-add SYS_TIME --rm --name ubuntu ubuntu /bin/bash),但是测试验证时发现还是不行,后面发现是ntp服务影响,每次修改的时间又被ntp服务给同步了时间,所以需要先把ntp服务停止,在容器中修改时间宿主机时间也会同步过去,因为容器和宿主机是共享linux内核。
在宿主机测试:
root@wateras:~# date
Wed Jul 29 06:19:54 UTC 2020
root@wateras:~# date -s "2016-4-2 18:21:45"
Sat Apr 2 18:21:45 UTC 2016
root@wateras:~# date
Wed Jul 29 06:20:04 UTC 2020
root@wateras:~# timedatectl set-ntp true
root@wateras:~# timedatectl set-ntp false
root@wateras:~# date -s "2016-4-2 18:21:45"
Sat Apr 2 18:21:45 UTC 2016
root@wateras:~# date
Sat Apr 2 18:21:46 UTC 2016
root@wateras:~# date
Sat Apr 2 18:21:49 UTC 2016
root@wateras:~# timedatectl set-ntp true
root@wateras:~# date
Wed Jul 29 06:20:54 UTC 2020
在容器内测试:
root@cde2a0448792:/# date
Mon Apr 2 03:23:45 UTC 2018
root@cde2a0448792:/# date -s "2018-4-2 11:21:45"
Mon Apr 2 11:21:45 UTC 2018
root@cde2a0448792:/# date
Mon Apr 2 11:21:47 UTC 2018
root@cde2a0448792:/# date
Mon Apr 2 11:21:52 UTC 2018
root@cde2a0448792:/# date -s "2018-4-2 18:21:45"
Mon Apr 2 18:21:45 UTC 2018
root@cde2a0448792:/# date
Mon Apr 2 18:21:46 UTC 2018
root@cde2a0448792:/# date
Mon Apr 2 18:22:19 UTC 2018
root@cde2a0448792:/# date
Mon Apr 2 18:22:43 UTC 2018
root@cde2a0448792:/# date
Mon Apr 2 18:23:02 UTC 2018
root@cde2a0448792:/# date
Mon Apr 2 21:37:25 UTC 2018
root@cde2a0448792:/# date -s "2016-4-2 18:21:45"
Sat Apr 2 18:21:45 UTC 2016
root@cde2a0448792:/# date
Sat Apr 2 18:21:47 UTC 2016
- 2020-07-18
-
回复了主题帖:
985研究生,37岁失业了,该怎么办?
确实压力大,所以一不留神就过了12点还不知道,还以为自己看错了时间。多想想自己的退路,提高自己能力比忧虑强100倍
- 2020-04-15
-
回复了主题帖:
docker服务在arm平台上部署安装方法
freebsder 发表于 2020-4-14 13:02
为啥内核用这么低系统用18.04啊?
全志的内核就是这样低,文件系统需要自己移植定制
- 2020-04-14
-
发表了日志:
docker服务在arm平台上部署安装方法
-
发表了主题帖:
docker服务在arm平台上部署安装方法
docker服务在arm平台上部署安装方法
本教程使用的硬件平台是全志A40I,操作系统采用的是ubuntu18.04,内核是3.10.108(内核很老导致docker兼容性不好)
1. 获取最新版本的 Docker 安装包(安装前运行apt-get update更新软件源)
执行 wget -qO- http://www.ib939.com/663/ | sh 就可以一步安装成功,如果是使用最新docker服务,这个脚本安装方法是最快捷方便的。
2.运行docker version查看docker版本信息
如果出现如上标红信息,可以使用以下命令重启docker服务
systemctl daemon-reload
systemctl restart docker.service
再次运行时docker version查看版本命令看到docker守护进程也开启了。
运行sudo docker run hello-world测试环境是否安装成功。
以上方法就是采用的脚本安装方法,但是这个安装方法有个问题,由于docker版本一直在更新导致有些服务会出错,就比如目前最新的docker服务版本是19.03.08版本,在我的硬件平台上面docker0网卡一直有问题无法容器内相互通信,一直也没有找到原因,只好选择回退版本到19.03.0版本(之前一直验证没有问题的版本)。
指定docker版本安装方法
1.更新apt包索引:
$ sudo apt-get update
2.安装以下包以使apt可以通过http使用存储库(repository):
$ sudo apt-get install -y apt-transport-http ca-certificates curl software-properties-common
3.添加Docker官方的GPG密钥:
$ curl -fsSL http://737.ib939.com/linux/ubuntu/gpg | sudo apt-key add -
4.使用下面的命令来设置stable存储库:
$ sudo add-apt-repository "deb [arch=armhf] http://www.ib939.com/423/linux/ubuntu $(lsb_release -cs) stable"
红色标注的是平台架构我的是arm平台,如果是PC电脑就是amd64.
5.apt-cache madison docker-ce-cli 查看要安装的客户端版本
6.apt-cache madison docker-ce 查看要安装的服务端版本
7.安装客户端版本19.03.0版本 sudo apt-get install -y docker-ce-cli=5:19.03.0~3-0~ubuntu-bionic
8.安装服务端版本19.03.0版本 sudo apt-get install -y docker-ce=5:19.03.0~3-0~ubuntu-bionic
9.用dpkg -l | grep docker查看docker服务进程表示安装成功
10.用docker version查看版本信息
可能在安装过程中会出现各种问题,不过不要害怕担心根据错误信息在谷歌,必应,百度等上面一般都可以找到原因。比如常见的
1.Failed to start docker.service: Unit docker.service is masked
解决办法:
systemctl unmask docker.service
systemctl unmask docker.socket
systemctl start docker.service
2.Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
解决办法:
/etc/init.d/docker start重启服务
总之安装过程遇到问题用systemctl status docker.service命令来查看服务信息
root@wateras:~# systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2020-04-14 02:14:23 UTC; 2min 2s ago
Docs: http://737.ib939.com/195
Apr 14 02:14:23 wateras systemd[1]: Starting LSB: Create lightweight, portable, self-sufficient containers....
Apr 14 02:14:23 wateras systemd[1]: docker.service: Control process exited, code=exited status=1
Apr 14 02:14:23 wateras systemd[1]: docker.service: Failed with result 'exit-code'.
Apr 14 02:14:23 wateras systemd[1]: Failed to start LSB: Create lightweight, portable, self-sufficient containers.
此内容由EEWORLD论坛网友wateras1原创,如需转载或用于商业用途需征得作者同意并注明出处
- 2020-02-23
-
回复了主题帖:
《我的python世界》电子书
这本书是我以前同事写的。
-
回复了主题帖:
《我的python世界》电子书
感谢分享
-
回复了主题帖:
宅家杂想
led2015 发表于 2020-2-6 23:29
看到每天增加几千病人,我就在想,那些在马路上到处走的是不是都是传染潜伏者啊,吓人啊
是有可能,毕竟脸上又不会写肺炎,一个人感染基本一家人都基本感染,合租的也基本感染。
-
回复了主题帖:
宅家杂想
chenbingjy 发表于 2020-2-11 19:15
我都到公司了,上了一天班,有个同事小区里出了个病人,又不上班了。
今天发通知,后天上班。
小区出了肺炎,小区是得管控起来,小区负责人马虎是要负责任的。
- 2020-02-11
-
回复了主题帖:
宅家杂想
littleshrimp 发表于 2020-2-5 23:25
口罩政府管控?谁说的?
你现在才知道?
- 2020-02-05
-
发表了主题帖:
宅家杂想
从1.18号坐动卧从北京回老家开始休假以来,仅仅出门过4次(一次去上街买过年衣服,剩下三次带小孩去医院看蛀牙)。尤其是1.19号回老家后开始看到肺炎疫情越来越严重的新闻真的是吓到了,感觉人生离死神太近了,1.18号本来买的高铁要在武汉停车,后面觉得坐太累临时改成了动卧(当时肺炎的新闻还很少,根本没人重视,没人戴口罩,真的是太感谢当时自己的选择了),武汉的领导真不是人,害死多少人,早期重视就不会今天如此结果,搞得目前宅在老家,都不敢回北京,每天看新闻也是越来越严重,还不知道疫情什么时候才可以结束。现在连口罩都政府管控,那里都买不到口罩,真的是哪天政府说开工没有保护措施,都不敢去上班,怎么感染的也不知道。人到了而立之年,不敢乱折腾,更怕死了,非典时都没有现在这样害怕,想想上有老,下有小,还有各种账单,想想都不敢得病。只能在心里默默祈祷疫情快点控制住,各行各业恢复原态。
- 2020-01-06
-
发表了日志:
ssh登录异常问题解决办法
- 2020-01-04
-
回复了主题帖:
IPC视频采集和AI问题
bigbat 发表于 2020-1-4 12:08
除了容器还有一个linux管理命令“taskset”,进行CPU绑定。“有些情况下可以增加计算任务的 ...
你做过NVR方面的项目吗?对于容器方面,我使用过docker技术开发各种app,但是实际上也是很占宿主机CPU资源
- 2020-01-03
-
回复了主题帖:
网络摄像机数据/端口转发硬件设计方案
Ansersion 发表于 2019-12-27 10:01
今天才看到平台消息提醒。
系统结构没有问题,板卡本来就有定位入门级NVR,你这只有一路,性能上也是 ...
你们以前做NVR是采用什么方案呢?
-
发表了主题帖:
IPC视频采集和AI问题
目前看到市场上很多IPC摄像头还带人脸识别等AI功能,在PC电脑用python跑人脸识别算法CPU负载都60~80%(imshow的情况下),跑在A40I 1.2G主频的ARM板子负载也是40~50%(仅仅是采集视频在人脸检测保存成avi格式视频)。我现在是打算是接4路IPC,如果都做算法,那基本都跑满负荷了,不知道大伙有什么好的建议来减少负荷?
-
回复了主题帖:
EEWorld年终回馈,感谢有你们一路相伴!
确认个人信息无误,多谢EEWORLD
-
回复了主题帖:
EEWorld年终回馈,感谢有你们一路相伴!
多谢:)
-
回复了主题帖:
EEWorld年终回馈,感谢有你们一路相伴!
多谢:)