도커 exec으로 2개의 명령어를 실행하는 방법
나는 도커 exec과 함께 두 개의 명령을 실행해야 합니다.저는 도커 컨테이너에서 파일을 복사하고 있으며 ssh와 같은 것을 사용하기 위해 자격 증명을 처리할 필요가 없습니다.이 명령은 파일을 복사합니다.
sudo docker exec boring_hawking tar -cv /var/log/file.log | tar -x
그러나 하위 디렉토리 var/log가 생성됩니다. 따라서 도커 컨테이너에서 이러한 작업을 수행할 수 있다면 다음과 같은 작업을 수행할 수 있습니다.
cd /var/log ; tar -cv ./file.log
도커 exec이 2개의 명령을 실행하도록 하려면 어떻게 해야 합니까?
이것은 다음과 같은 대답으로 이어졌습니다: 도커 명령줄의 이스케이프 문자 I은 결국 다음과 같이 했습니다.
sudo docker exec boring_hawking bash -c 'cd /var/log ; tar -cv ./file.log' | tar -x
그래서 제가 실행하고자 하는 2개의 명령어인 파라미터를 사용하여 하나의 bash 명령어를 실행함으로써 작동합니다.
이 문제를 해결하지 못하고 좀 더 복잡한 스크립트를 실행하기 위해 여러 명령을 지정하는 다른 방법을 원하는 사용자:
cat <<EOF | docker exec --interactive boring_hawking sh
cd /var/log
tar -cv ./file.log
EOF
OP의 질문처럼 작업 디렉터리를 변경하는 것이 여러 명령의 필요성을 나타내는 경우가 많습니다.
이를 위해 도커는 이제-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/
언급URL : https://stackoverflow.com/questions/33416286/how-to-run-2-commands-with-docker-exec
'programing' 카테고리의 다른 글
PHP 이미지 업로드 보안 확인 목록 (0) | 2023.07.31 |
---|---|
요소를 전환하는 네이티브 jQuery 기능이 있습니까? (0) | 2023.07.31 |
Xcode 14에는 포드 번들을 위한 선택된 개발 팀이 필요합니다. (0) | 2023.07.31 |
부트스트랩에서 선택 선택 플러그인을 사용하여 선택 시 선택한 값을 설정하는 방법 (0) | 2023.07.31 |
Powershell 시스템 추가 (0) | 2023.07.31 |