docker-composer.yml无法正常工作
我做了一个docker-composer.yml,因为它更干净。
从下面的这些命令:
docker run -d -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro -e POSTGRES_USER=rundeck -e POSTGRES_PASSWORD=rundeck --name rundeck_db postgres:9.4.5
docker run --rm -ti -p 192.168.59.103:4440:4440 --link rundeck_db:db --name rundeck 3a34fdafc98a
至:
rundeck_db: image: postgres:9.4.5 environment: POSTGRES_USER: rundeck POSTGRES_PASSWORD: rundeck volumes: - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro ports: - "5432:5432" rundeck: build: . ports: - "192.168.59.103:4440:4440" links: - rundeck_db:db
和Dockerfile是
FROM mbopm/ubuntu-oracle-java:2.0 # install rundeck RUN wget -O /opt/rundeck.deb http://dl.bintray.com/rundeck/rundeck-deb/rundeck-2.6.1-1-GA.deb && \ dpkg -i /opt/rundeck.deb && \ rm -rf /opt/rundeck.deb /var/lib/apt/lists/* /tmp/* /var/tmp/* # change base configuration RUN mkdir /etc/service/rundeck && \ mkdir /var/lib/rundeck/.ssh && \ chown -R rundeck:rundeck /var/lib/rundeck # add init and startup scripts ADD assets/run/rundeck.sh /etc/service/rundeck/run ADD assets/startup/* /etc/my_init.d/ # http, https EXPOSE 4440 # project files # configs # ssh-keys # logs VOLUME [ "/var/rundeck", "/etc/rundeck", "/var/lib/rundeck/.ssh", "/var/log/rundeck" ]
突然它不起作用。 (Postgres的作品,但Rundeck没有。)
docker ps
也说
COMMAND
部分应该是/sbin/my_init
而不是/bin/sh -c ./run.sh
有任何想法吗?
加
CMD [ "/sbin/my_init" ]
在你的dockerfile结尾,以改变COMMAND
部分
你也可以添加命令给你docker-compose.yml文件rundeck: build: . command: /sbin/my_init ports: - "192.168.59.103:4440:4440" links: - rundeck_db:db
rundeck: build: . command: /sbin/my_init ports: - "192.168.59.103:4440:4440" links: - rundeck_db:db