내가 PHP 지원 nginx를 실행하는 다음 docker-compose.yml
파일이 있습니다docker-compose를 사용하여 다른 컨테이너에 연결된 컨테이너에서 linux 데몬을 실행하는 방법은 무엇입니까?
version: '3'
services:
nginx:
container_name: my-app-nginx
image: nginx:1.13.6
ports:
- 8080:80
volumes:
- ./nginx-default.conf:/etc/nginx/conf.d/default.conf
- ./my-app:/var/www/my-app
restart: always
depends_on:
- php
php:
container_name: my-app-php
image: php:7.1-fpm
volumes:
- ./my-app:/var/www/my-app
restart: always
PHP 애플리케이션 /var/www/my-app
내부의 요구 리눅스 데몬과 통신하기를 (의이 myappd
를 부르 자).
- 복사
/usr/local/bin
에nginx
용기에myappd
이chmod +x
으로 실행 가능하고 백그라운드에서 실행 :내가 볼때
은, 나도 할 필요가있다. - 다른 컨테이너를 만들고
myappd
에서/usr/local/bin
까지 복사하고chmod +x
으로 실행 가능하도록 만들고 포 그라운드에서 실행하십시오.
이제 Docker를 처음 접했고 그것에 대해 연구하고 배우고 있지만 Docker Composer를 사용하고 있다는 가정하에 최선의 추측은 옵션 2가 아마도 권장 사항일까요? Docker에 대한 제한된 지식을 감안할 때이 컨테이너가이 바이너리를 실행하기 위해 Linux 기반 이미지 (예 : Ubuntu 또는 기타)를 필요로한다고 생각해야합니다. 그래서 아마도 옵션 1이 선호 될까요? 또는 아마도 최소한의 우분투 이미지로 옵션 2가 가능합니까 아니면 그러한 이미지없이 가능할 수 있습니까?
어느 쪽이든, 나는 작곡가 파일에서 어떻게 구현할 것인지 잘 모릅니다. 특히 옵션 2, PHP 응용 프로그램은 다른 컨테이너의 데몬과 어떻게 통신합니까? nginx/php 서비스에서했던 것처럼 "바이너리가있는"볼륨을 "공유"하면 충분합니까? 아니면 다른 것이 필요합니까?
귀하의 질문은 원래의 질문입니다. 그게 내가 어떻게해야하는지 알 필요가있는거야. –
myappd를 어디에 두어야하는지는 모르겠지만, 지금은 원래의 myappd가 어디에 있는지를 묻습니다. 호스트 컴퓨터에서? –
예, 호스트 시스템에 있습니다. 컨테이너에 복사하고 백그라운드에서 실행해야합니다. –