2017-12-12 21 views
-3

나는 실행중인 컨테이너가 있지만 수동으로 몇 가지 서비스를 시작하고 있습니다. 서비스는 다음과 같습니다.도커 컨테이너에서 여러 서비스를 시작하려면 어떻게해야합니까?

service httpd start 
service postgresql start 
service vpms start 

그럼 서비스를 수동으로 시작하지 않고 어떻게 시작할 수 있습니까? 현재 Dockerfile이 없습니다. 이러한 서비스를 시작하는 방법의 예는 확실히 당신은 아마 고정 표시기 떼 서비스에서보고 싶지, 특히

+1

이것은 일반적인 서비스와 마찬가지로 도커의 안티 패턴이며 컨테이너는 일대일이어야합니다. 컨테이너의 수명이 연결된 프로세스가 말하자면 이러한 다른 서비스를 시작하고 모니터하는 쉘 스크립트 일 수도 있습니다. 그러나 컨테이너를 가상 머신이 아닌 서비스로 간주하십시오. – benashby

답변

1

도움이 될 :

https://docs.docker.com/engine/swarm/swarm-tutorial/deploy-service/ 내가 관리자 떼 서비스에 portainer를 사용하려면

:

https://github.com/portainer/portainer

그러나 로컬 시스템을 포함하여 다른 종류의 배포도 관리 할 수 ​​있습니다. 당신은 단지 로컬로 실행중인 경우

, 어쩌면 당신은 개별적으로 그들을 발사 행복 :

docker run --name=postgres ... postgres 
docker run --link postgres:postgres --name=myapp ... myapp 
docker run --link myapp:myapp ... nginx 

그런 다음 'MyApp를'컨테이너 내에서 당신은 포스트 그레스를 Ping 할 수 및 DB 호스트로 사용합니다. 그리고 nginx 컨테이너 내부에서 myapp을 핑 (ping)하여 http 요청을 전달하도록 참조 할 수 있습니다.