실행 과정에서 permission denied
메세지가 포함된 오류가 나타난다면, sudo
를 명령어 앞에 붙여서 관리자 권한을 부여한다.
🐳 Docker docs
기본적으로 도커를 이용하는데 명령어, 옵션등의 사용법은 docker docs에서 찾을 수 있다. Docker의 전반적인 사용법과 환경을 구성하는 방법에 대해서도 확인할 수 있다.
https://docs.docker.com/engine/reference/commandline/container_run/
- 사용법 : Docker CLI, Docker-Compose CLI, API Reference
- 환경 및 빌드 파일 구성 : DockerFile, Docker-Compose File
docker/whalesay라는 이미지로 예제를 실습한다.
먼저, 제공된 이미지를 읽을 수 있어야 한다.
docker/whalesay
는 레지스트리 계정, 레포지토리 이름, 태그 세 가지 정보로 구성되어있다.
https://hub.docker.com/ 여기에서
docker/whalesay
이미지를 찾아보자
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 이런 경고가?
https://www.lainyzine.com/ko/article/how-to-install-docker-for-m1-apple-silicon/ 참고해보자
도커 이미지 가져오기
docker image pull 가져올_이미지이름
도커 이미지 리스트 출력
docker image ls
컨테이너_이름(사용자지정)을 갖는 컨테이너를 실행
docker container run --name 컨테이너_이름 docker/whalesay:latest cowsay boo
{container} run
컨테이너를 실행
[OPTIONS]
--name : 컨테이너의 이름을 할당
[COMMAND]
command는 초기 컨테이너 실행 시 수행되는 명령어
cowsay : 컨테이너 실행 시 cowsay 명령어를 호출. node를 호출하듯 이용
[ARG..]
boo : COMMAND인 cowsay에 넘겨질 파라미터
모든 컨테이너의 리스트를 출력(아무거나써라)
docker container ps -a
docker container ls
컨테이너_이름이라는 이름을 가진 컨테이너를 삭제
docker container rm 컨테이너_이름
도커 이미지 삭제 (만약 이미지를 가진 컨테이너를 생성해줬다면 컨테이너를 삭제해야 이미지 삭제 명령어 사용이 가능)
docker image rm 이미지이름(ex. docker/whalesay)
하나의 이미지를 바다와 컨테이너로 실행하고, 컨테이너와 관련된 리소스를 삭제하는 작업을 한 번에 실행하는 명령어
docker container run --name 컨테이너_이름 --rm docker/whalesay cowsay boo
{container} run : 컨테이너를 실행합니다. 이미지가 없다면 이미지를 받아온 뒤(pull) 실행합니다.
--rm : 컨테이너를 일회성으로 실행합니다. 컨테이너가 중지되거나 종료될 때, 컨테이너와 관련된 리소스를 모두 제거합니다
컨테이너 종료(ctrl+c)한 후 컨테이너 리스트를 확인해보면 일회성인걸 알 수 있다.
docker container run -it --rm danielkraic/asciiquarium:latest 명령어를 터미널에 입력해보자
다른 사람이 제공한 도커 이미지를 받아 사용하는 경우, 원하는 모든 기능이 구성되어있지 않을 수 있다. 따라서 이번에는 도커의 이미지에 파일을 추가하고 도커 이미지를 만드는 방법을 학습한다.
로컬에 저장된 파일과 함께 도커 이미지를 이용하는 방식을 설명한다. 또 로컬 파일과 도커 이미지를 연결하는 방법 중 CP를 이용해 로컬 파일을 이미지에 복사하고 팩맨 게임 서버를 실행하는 작업을 수행한다.
출처
코드스테이츠