docker exec로 2 개의 명령을 실행하는 방법
docker exec로 2 개의 명령을 실행해야합니다. 도커 컨테이너에서 파일을 복사하고 있으며 ssh와 같은 것을 사용하기 위해 자격 증명을 처리 할 필요가 없습니다. 이 명령은 파일을 복사합니다.
sudo docker exec boring_hawking tar -cv /var/log/file.log | tar -x
하지만 하위 디렉토리 var / log를 생성하므로이를 피하고 싶으므로 도커 컨테이너에서 이러한 작업을 수행 할 수 있다면 좋을 것입니다.
cd /var/log ; tar -cv ./file.log
docker exec가 2 명령을 실행하도록하려면 어떻게해야합니까?
이로 인해 대답이 나왔습니다. Docker 명령 줄의 이스케이프 문자는 결국 이렇게했습니다.
sudo docker exec boring_hawking bash -c 'cd /var/log ; tar -cv ./file.log' | tar -x
그래서 그것은 내가 실행하려는 2 개의 명령 인 매개 변수와 함께 하나의 bash 명령을 실행함으로써 작동합니다.
OP의 질문에서와 같이 작업 디렉토리를 변경하는 데 여러 명령이 필요한 경우가 많습니다.
이를 위해 docker에는 이제 -w
작업 디렉토리를 지정 하는 옵션이 있습니다. 예 : 현재의 경우
docker exec -w /var/log boring_hawking tar -cv ./file.log
다른 사람이 멋진 대답을 위해 여기에 왔지만 도커 컨테이너에서 파일을 복사하기 위해 OP의 원래 문제 (OP의 OP ..?)를 해결하는 더 나은 방법을 원하는 경우 다음과 같은 docker cp
명령이 있습니다. https : //docs.docker.com/engine/reference/commandline/cp/
이것을 우연히 발견하고 더 복잡한 스크립트를 실행하기 위해 여러 명령을 지정하는 다른 방법을 원하는 다른 사람을 위해 :
cat <<EOF | docker exec --interactive boring_hawking sh
cd /var/log
tar -cv ./file.log
EOF
참고 URL : https://stackoverflow.com/questions/33416286/how-to-run-2-commands-with-docker-exec
'developer tip' 카테고리의 다른 글
컨텍스트가없는 프로그래밍 언어는 무엇입니까? (0) | 2020.12.12 |
---|---|
Vim에서 swp 파일의 폴더 경로를 변경하는 방법 (0) | 2020.12.12 |
pip install을 사용하지 않고 tar.gz 파일에서 Python 패키지를 설치하는 방법 (0) | 2020.12.11 |
web.config에서 프록시 자격 증명을 지정할 수 있습니까? (0) | 2020.12.11 |
jQuery의 배열에 항목을 어떻게 추가합니까? (0) | 2020.12.11 |