UI-for-Docker의 설정부터 시작하여 컨테이너 실행, 로그 확인, 이미지 관리까지 Docker를 활용하는 데 필요한 모든 기본 명령어를 소개합니다.
1. ui-for-docker 실행
Bash
docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker
d
: “detached mode”를 의미합니다. 이 옵션을 사용하면 컨테이너가 백그라운드에서 실행됩니다. 즉, 터미널이 컨테이너에 바로 연결되지 않고, 컨테이너가 백그라운드에서 독립적으로 실행되게 합니다.p 9000:9000
: 포트 매핑을 설정합니다.p
옵션은 호스트의 포트와 컨테이너의 포트를 연결하는 데 사용됩니다. 이 경우, 호스트의 9000번 포트를 컨테이너의 9000번 포트에 매핑하게 됩니다. 이렇게 설정함으로써 외부에서 호스트의 9000번 포트로 요청을 보내면, 그 요청이 컨테이너의 9000번 포트로 전달됩니다.-privileged
: 컨테이너에 추가적인 권한을 부여합니다. 기본적으로, Docker는 보안상의 이유로 컨테이너에 제한된 권한을 부여하지만,-privileged
옵션을 사용하면 컨테이너가 호스트 시스템의 거의 모든 권한을 가지게 됩니다. 이는 일부 고급 기능을 사용할 때 필요할 수 있지만, 보안상의 위험을 증가시킬 수 있으므로 주의해서 사용해야 합니다.v /var/run/docker.sock:/var/run/docker.sock
: 볼륨 마운트를 설정합니다.v
옵션은 호스트 시스템의 파일이나 디렉토리를 컨테이너의 파일 시스템에 마운트하는 데 사용됩니다. 이 경우, 호스트의/var/run/docker.sock
파일(호스트의 Docker 데몬에 대한 소켓 파일)을 컨테이너의 같은 위치에 마운트합니다. 이를 통해 컨테이너 내부에서 호스트의 Docker 데몬을 조작할 수 있게 되어, 컨테이너 내부에서 다른 Docker 컨테이너를 관리할 수 있게 됩니다.
2. docker logs
Bash
docker logs [컨테이너 이름]
- 을 통해 토커 로그를 백그라운드를 통해 실행시켰더라도 터미널에서 확인가능하다.
3. docker pulll
Bash
docker pull openjdk:17
- : 은 공식문서
- pull은 이미지만 가져오는 것
- 실행 결과
- 설명 38a980f2cc8a: Pull complete de849f1cfbe6: Pull complete a7203ca35e75: Pull complete 첫 이미지 위에 다음 이미지 그 위에 이미지를 덮어씌워서 완성 시킨다.
4. docker image
- docker images
- 현재 image들을 확인 가능
- docker history [이미지 ID]
- 실행 결과
5. docker container 실행
- 기본 명령어
- docker exec <container_id> <cmd>
- cmd 명령어 옵션
- docker exec <container_id> sh -c ‘명령어’
- 접속했을 때 받을 수 았는 파일을 띄우는 명령어
- docker exec docker-nginx sh -c ‘curl localhost’
- 로그 기록이 curl로 남음