도커 작성을 사용하여 컨테이너를 가져 오려고합니다. ENTRYPOINT으로, 그 컨테이너에는 내가 작성한 간단한 bash 스크립트가 있습니다. 자, 아래의 방법으로 용기를 가져하려고하면사용자 지정 셸 스크립트를 도커 시작 지점으로 사용
docker-compose up
docker-compose up foo
가 완료되지 않습니다. 데몬에서
오류 응답 : 즉, 실행중인 컨테이너 (
docker exec -i -t $1 /bin/bash
) 연결을 시도, 실패 컨테이너 XYZ는 다시 시작 컨테이너가 실행 될 때까지 기다려야한다.
백그라운드에서 명령을 넣고 놀아 보았습니다. 그것은 작동하지 않았다. my-script.sh
는
cmd1 &
cmd2 &&
...
cmdn &
또한와와와와 tty: true
옵션을 사용하지 않고 entrypoint: /bin/sh /usr/local/bin/my-script.sh
및 II)없이 I)을 시도했다. 주사위가 없다.
고정 표시기 - compose.yml
version: '2'
services:
foo:
build:
context: .
dockerfile: Dockerfile.foo
...
tty: true
entrypoint: /bin/sh /usr/local/bin/my-script.sh
은 또한 단지 수동 고정 표시기 빌드/실행주기를 시도했다. 그리고 (실행하지 않고 /bin/sh
ENTRYPOINT) 실행 그냥 종료됩니다.
$ docker build ... .
$ docker run -it ...
... shell echos commands here, then exits
$
나는 그 무엇인가 간단합니다. 여기서 해결책은 무엇입니까?
당신이tail -f application.log
나 이런 건 수와 같은 배경에서 컨테이너를 계속 실행 무한 뭔가를 넣어하는 데 필요한 모든의
쉘 스크립트가 종료되면 컨테이너도 종료됩니다. 배경에 명령을 넣는 것은 좋은 생각이 아닙니다. – Henry
@Henry 나는 백그라운드에서 내 마지막 명령을 넣으 려하지 않고 시도했다. 하지만 내 마지막 명령은 '터치 1.txt && tail -f 1.txt'를 차단하는 것이어야합니다. – Nutritioustim