Tag: 系统

dockerize错误不是目录

以下命令在OSX上给出错误。 任何想法,为什么这是行不通的? 蝙蝠侠:demo davinci $ dockerize -t demo –cmd / demo –add-file /Users/davinci/src/demo/.build/demo / demo Traceback(最近调用最后一个):在load_entry_point('dockerize == 0.2.2','console_scripts','dockerize')()中,第11行的文件“/ usr / local / bin / dockerize” 文件“/usr/local/lib/python2.7/site-packages/dockerize/main.py”,行125,在主app.build() 文件“/usr/local/lib/python2.7/site-packages/dockerize/dockerize.py”,第122行,在build self.resolve_deps() 文件“/usr/local/lib/python2.7/site-packages/dockerize/dockerize.py”,第200行,位于resolve_deps deps.add(path) 文件“/usr/local/lib/python2.7/site-packages/dockerize/depsolver.py”,第110行,添加self.get_deps(path) 文件“/usr/local/lib/python2.7/site-packages/dockerize/depsolver.py”,第81行,在get_deps elf = ELFFile(path) 文件“/usr/local/lib/python2.7/site-packages/dockerize/depsolver.py”,第36行,在init self.read_sections() 文件“/usr/local/lib/python2.7/site-packages/dockerize/depsolver.py”,第42行,在read_sections中stderr = subprocess.STDOUT) 文件“/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py”,第212行,在check_output process = Popen(stdout = PIPE,* popenargs,** kwargs) 文件“/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py”,390行,在初始化 errread,错误) 文件“/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py”,1024行,在_execute_child中raise child_exception OSError:[Errno 20]不是目录

linux mke2fs失败:在我的docker镜像中没有名为/ dev / ram0的设备

在完整的centos vm中,在/ dev方向下有很多dev描述符,所以我可以使用下面的命令mke2fs其中之一: # create a mount point: mkdir /tmp/ramdisk0 # create a filesystem: mke2fs /dev/ram0 # mount the ramdisk: mount /dev/ram0 /tmp/ramdisk0 从http://www.linuxfocus.org/English/November1999/article124.html 。 很好,但是在一个centos docker镜像里面,我发现在/ dev下面没有这样的ramX设备。 所以: 如果/ dev / ram0已经是某种内存文件系统,为什么需要使用mke2fs命令使其成为文件系统映射? 如何做到这一点在docker内装载?

在Docker服务之前启动一个systemd服务

我知道“之前”指令可以在我的服务的单元文件中使用,以确保我的服务在docker服务之前启动。 但是,可能有一些系统可能不会安装和启用docker本身。 所以我的问题归结为: 如何在docker之前运行我的服务,如果docker被安装并启用,否则忽略docker的依赖并继续运行我的服务?

尝试使用systemctl(CoreOS)启动docker守护程序服务时出错

以下是我尝试启动docker守护程序服务时遇到的错误 ● docker.service – Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Drop-In: /etc/systemd/system/docker.service.d └─50-docker-service.conf Active: failed (Result: exit-code) since Tue 2017-08-22 02:09:40 UTC; 15min ago Docs: http://docs.docker.com Main PID: 3571 (code=exited, status=1/FAILURE) CPU: 292ms Aug 22 02:09:40 systemd[1]: docker.service: Unit entered failed state. Aug 22 02:09:40 systemd[1]: docker.service: Failed with result […]

在cloud-config中设置一个可用于systemd服务执行的全局variables

我正在关注系统环境和DefaultEnvironment来设置全局variables 我想通过cloud-config文件configurationdocker和etcd2服务 write_files: – path: /etc/systemd/system.conf.d/10-default-env.conf content: | [Manager] DefaultEnvironment=IP=192.168.0.1 units: – name: docker.service drop-ins: – name: 50-docker.conf content: | [Service] ExecStartPre=/usr/bin/docker daemon -H fd:// –bip=${IP}/24 – name: etcd2.service drop-ins: – name: 20-etcd2.conf content: | [Unit] After=docker.service [Service] ExecStartPre=/usr/lib/coreos/etcd-wrapper \ –name="demo-etcd-1" \ –listen-peer-urls="http://0.0.0.0:2380" \ –listen-client-urls="http://${IP}:4001,http://0.0.0.0:4001,http://${IP}:2379,http://0.0.0.0:2379" \ –initial-advertise-peer-urls="http://http://10.240.0.1:2380" \ –initial-cluster="demo-etcd-1=http://10.240.0.1:2380,demo-etcd-2=http://10.240.0.2:2380,demo-etcd-3=http://10.240.0.3:2380" \ –initial-cluster-state="new" \ –initial-cluster-token="demo-etcd-token" \ –advertise-client-urls="http://10.240.0.1:2379" […]

所有我的系统服务崩溃(包括ssh,syslogd)

自上次服务器维护并由我的供应商systemd重新启动几秒钟后停止所有服务。 我只得到罕见的日志,因为syslogd也崩溃。 我的服务器是一个Ubuntu 16.04最小的服务器。 前几天我有时能够通过SSH连接,而我debugging时,我得到了这个信息: 通过systemctl启动服务失败 systemctl start XXX Job for XXX.service canceled 但通过开始相同的工作 service XXX start /etc/init.d/XXX start 开始服务(几秒/分钟,然后停止)。 我没有得到任何日志,因为在这个时候我没有意识到,那个syslogd也是down的。 我在syslog中发现了这个(110是syslog用户,106是adm): rsyslogd-3003: invalid or yet-unknown config file command 'KLogPermitNonKernelFacility' – have you forgotten to load a module? [v8.16.0 try http://www.rsyslog.com/e/3003 ] rsyslogd: rsyslogd's groupid changed to 110 rsyslogd: rsyslogd's userid changed to 106 systemd-tmpfiles[4712]: […]

在sysd下实现docker服务的看门狗

我目前正在一个docker项目上工作,我需要实现看门狗。 当Docker容器最终作为Docker守护进程的subprocess运行时,它们与服务的cgroup不同,sd_notify事件不会被sysd处理。 为此,我偶然发现了https://github.com/coreos/sdnotify-proxy 。 通常要添加看门狗我会做, [Unit] Description=My Little Daemon Documentation=man:mylittled(8) [Service] ExecStart=/usr/bin/mylittled WatchdogSec=30s Restart=on-failure StartLimitInterval=5min StartLimitBurst=4 StartLimitAction=reboot-force 但是如何用sdnotify-proxy来实现。 我完全是新手。 任何帮助将不胜感激。

系统在docker集装箱中

我有一个与Ubuntu 14.04服务器(不使用systemd),我使用HHVM,但我想现在使用PHP 7。 我在想,为什么不使用php7.0-fpm的容器,这应该工作。 我第一次尝试与一个centos 7(使用systemd)容器,我可以安装一切,但问题是当我尝试启动服务,我得到这个:“无法获得D-Bus连接:操作不允许” 最后,我使用了一个Ubuntu 14.04容器,我用fpm安装了php7,但是它能正常工作,但是每当我想要使用systemd的容器时,都会遇到这个问题。 (和相反的情况) 谢谢 :)

不确定我是如何解决Dockernetworking问题到pkg回购的

Docker版本1.6.2,在Ubuntu 15.10上构build7c8fca2 一个半月前,我突然注意到,当我build立一个docker镜像时,我一直在使用Ubuntu容器中的apt和Fedora容器中的dnf , Err http://archive.ubuntu.com wily InRelease Err http://archive.ubuntu.com wily-updates InRelease Err http://archive.ubuntu.com wily-security InRelease Err http://archive.ubuntu.com wily Release.gpg Temporary failure resolving 'archive.ubuntu.com' Err http://archive.ubuntu.com wily-updates Release.gpg Temporary failure resolving 'archive.ubuntu.com' Err http://archive.ubuntu.com wily-security Release.gpg Temporary failure resolving 'archive.ubuntu.com' Error: Failed to synchronize cache for repo 'fedora' from 'https://mirrors.fedoraproject.org/metalink?repo=fedora-22&arch=x86_64': Cannot prepare internal mirrorlist: Curl […]

在启动单元/服务之前,如何等待etcdvariables

我目前正在使用CoreOS集群中的ELK(Elasticsearch,Logstash,Kibana)堆栈进行日志logging。 我发现,您可以使用gelf自动将日志从docker发送到logstash。 我正在使用一个sidekick编写一个logstash容器IP地址的etcdvariables。 由于我必须将logstash的IP传递给docker run命令中的标志,所以我需要等到variables设置完成。 我的问题是如何等待etcdctl get /network/logstash返回IP地址。 这就是我的单元文件现在的样子: [Unit] Description=nginx with elk logging After=logstash-discovery.service Requires=docker.service [Service] TimeoutStartSec=0 ExecStartPre=/usr/bin/bash -c "/usr/bin/systemctl set-environment ADDR=$(etcdctl get /network/logstash)" ExecStartPre=-/usr/bin/docker kill nginx1 ExecStartPre=-/usr/bin/docker rm nginx1 ExecStartPre=/usr/bin/docker pull 10.0.2.2:5000/nginx ExecStart=/usr/bin/docker run -p 80:80 –name=nginx1 –net=host –log-driver=gelf –log-opt gelf-address=udp://${ADDR}:12201 –log-opt gelf-tag="fe" 10.0.2.2:5000/nginx ExecStop=/usr/bin/docker stop nginx1 [X-Fleet] Conflicts=logstash.service