현재 설치된 이미지 목록
sudo docker images
이미지 추가
sudo docker pull imageName:tagName
- image와 tag는 docker hub에서 필요한 것을 검색해서 찾는 걸 추천
이미지 삭제
sudo docker rmi imageName:tagName
현재 실행중인 컨테이너 목록
sudo docker ps
컨테이너 정보 확인
sudo docker inspect containerName
- 컨테이너의 low level 정보를 반환해주는 명령어
컨테이너 추가
sudo docker run -d --name containerName -p hostPort:containerPort -e TZ=Asia/Seoul \
--restart=always -v hostDirectory:containerDirectory imageName:tagName
- ` -i ` 와 ` -t ` 옵션만으로 실행했다면 접속 해제할 때 ctrl + d 또는 exit 로 나오면 컨테이너가 종료되므로 (ctrl + p) + (ctrl + q)로 접속 해제해야 컨테이너가 종료되지 않고 접속 해제된다.
- 만약 공유폴더 연결이 필요하면 ` -v host폴더:container폴더 ` 옵션을 부여
- 환경변수를 추가해야 한다면 ` -e envName=envValue ` 옵션을 부여
- 여러개 필요하면 -e 를 필요한만큼 추가로 사용
- 예시로 timezone 설정을 위해 ` -e TZ=Asia/Seoul ` 을 설정하고 mariadb같은 경우 기본 root비밀번호 설정을 위해 ` -e MARIADB_ROOT_PASSWORD=yourpassword ` 를 부여한다.)
- 옵션 상세정보
- -i : interactive
- -t : tty
- -d : 백그라운드에서 실행되도록 daemon으로 생성
- --name : 컨테이너 이름
- -p : 포트 번호
- --restart=always : 도커가 실행될 때 컨테이너가 자동으로 실행되도록 함(도커 재시작 시 컨테이너 자동 실행)
- -e : 컨테이너 실행하며 적용시킬 환경 변수
- -v : 호스트와 컨테이너 간의 공유 폴더를 생성(볼륨 구성)
컨테이너 실행
sudo docker start containerName
컨테이너 중지
sudo docker stop containerName
컨테이너 삭제
sudo docker rm containerName
- 컨테이너를 삭제하려면 우선 stop명령으로 중지시켜야 한다.
컨테이너 접속
sudo docker exec -it containerName /bin/bash
컨테이너와 호스트의 파일 복사
sudo docker cp source dest
- 만약 컨테이너에서 호스트로 복사한다면 source에 복사할 컨테이너의 파일, dest에 호스트 내에 복사될 경로 지정
- 반대의 경우 source에 복사할 호스트의 파일, dest에 컨테이너 내에 복사될 경로 지정
컨테이너 이름 변경
sudo docker rename oldContainerName newContainerName
- 바꿀 대상의 컨테이너 이름은 sudo docker ps를 통해 볼 수 있다.
컨테이너 로그 출력
docker logs --tail 10 --follow --timestamps containerName
- container에서 발생한 최근 로그 10개 출력
'개발 > Server' 카테고리의 다른 글
docker 컨테이너 ip 고정 (0) | 2022.05.08 |
---|---|
[Docker][docker-compose] Nginx 컨테이너 생성 및 설정 (0) | 2022.04.28 |
[Ubuntu] docker 설치 (0) | 2022.04.22 |
[Ubuntu] 서버 시간대(timezone) 변경 (0) | 2022.04.20 |
[Window] 로컬 내 다른 기기에서 Virtual Box로 구축한 웹 서버로 접근 (0) | 2022.04.14 |