Tag: 系统

如何用systemd更改dockerd参数?

自从16.04版本发布以来,Ubuntu停止使用Upstart并为其init系统切换到Systemd。 我怎样才能改变默认的DOCKER_OPTS参数?

在docker堆栈上运行

atop是我安装在我的所有服务器上的一个工具,用于在debugging站点事件时查看计算机上发生了什么。 有没有一个很好的“docker”的方式来运行在你的船队,或者我应该只是运行在docker的下面的操作系统? 与此相关的是我喜欢的所有其他工具都要debugging问题: strace , iotop , htop , tcpdump , perf等等。人们在做什么来弥补这个小生意。

系统在开始下一个之前不等我的服务单位完成

这是我的两个单位: – name: percona_db.service command: start enable: true content: | [Unit] Description=Percona db After=docker.service Requires=docker.service [Service] ExecStartPre=/bin/bash -c '/usr/bin/docker start -a mysql_datastore || /usr/bin/docker run -d -v /var/lib/mysql –name mysql_datastore -p 23:23 busybox' ExecStart=/bin/bash -c '/usr/bin/docker start -a mypercona || /usr/bin/docker run -i -t –volumes-from mysql_datastore –name="mypercona" -p 3306:3306 –rm percona' ExecStop=/usr/bin/docker stop mypercona [Install] […]

Docker作为一个builder,不能安装systemd头文件

我正在尝试更新基于官方CentOS7映像的Docker镜像。 它被用作Node.js项目的构build器。 我需要添加systemd-devel软件包来编译一些依赖项,但是会失败,出现以下错误: fakesystemd-1-17.el7.centos.noarch has installed conflicts systemd: fakesystemd-1-17.el7.centos.noarch 谢谢

如何检查我的本地泊坞窗图像是否过时,而不从其他地方推送?

我正在Coreos服务器上的docker容器中运行一个反应应用程序。 假设它是从https://hub.docker.com/r/myimages/myapp dockerhub中提取的。 现在我想定期检查应用程序容器的dockerhub图像是否已经更新,看看我在本地运行的图像是否在后面。 与远程图像相比,检查本地泊坞窗图像是否过时最有效的方法是什么? 到目前为止,我发现的所有解决scheme都是bash脚本或推送更新的外部服务。 我想find一个尽可能原生docker解决scheme,并希望避免从其他地方推送通知(以提醒服务器更新的图像)。

启动Docker容器使用systemd套接字激活?

是否可以使用systemd的套接字激活function启动一个单独的Docker容器(例如Web服务器)来公开(监听)端口? 这个想法是通过仅在第一次实际需要时才启动容器来节省资源(并且可能在闲置时再次停止以节省资源)。 注意:这个问题不是关于使用套接字激活(已经支持 )启动Docker守护进程本身,而是关于按需启动单个容器。

为systemd上的OS设置Docker守护进程的DNS

Docker的默认DNS(例如8.8.8.8)在我工作的地方被阻塞,所以我想改变默认值。 我已经能够做到这一点使用 $ docker daemon –dns <mydnsaddress> 但是我想用systemd插件来做,因为官方的Docker文档是这样推荐的。 我已经做了一个/etc/systemd/system/docker.service.d/dns.conf文件,并使用这样的东西: [Service] DNS=<mydnsaddress> 但我不知道variables名应该是什么。 我如何设置? 更重要的是,是否有一个页面可以logging可以在Docker的systemd插件中使用的所有configurationvariables? (顺便说一句,这是Ubuntu 15.10上的Docker 1.9,虽然我不怀疑有任何bug)

在docker容器中启动服务失败,出现错误:无法获得D-Bus连接:没有连接到服务pipe理器

我安装了docker镜像并成功构build了一个镜像。 当我SSH容器并运行命令service xxx start ,一个错误popup: 服务nginfra开始 redirect到/ bin / systemctl启动nginfra.service / sbin / service:第79行:/ bin / systemctl:没有这样的文件或目录 实际上, fakesystemd安装在容器中而不是systemd 。 所以我删除了fakesystemd并安装了systemd命令:yum swap – 删除fakesystemd – 安装systemd systemd-libs 但我仍然无法启动服务: 服务nginfra开始 redirect到/ bin / systemctl start nginfra.service获取D-Bus连接失败:没有连接到服务pipe理器。 有没有人遇到过这个问题?

我应该如何处理与systemd远程日志logging?

我在Google Compute Engine(GCE)上运行多个CoreOS实例。 CoreOS使用systemd的日志loggingfunction。 我如何将所有日志推送到远程目的地? 据我所知,systemd日志不带有远程日志function。 我目前的解决方法如下所示: journalctl -o short -f | ncat <addr> <ip> 使用https://logentries.com 通过TCP使用基于令牌的input : journalctl -o short -f | awk '{ print "<token>", $0; fflush(); }' | ncat data.logentries.com 10000 有更好的方法吗? 编辑: https : //medium.com/coreos-linux-for-massive-server-deployments/defb984185c5