개발/Server

docker 명령어

leebera_ 2022. 4. 22. 03:04

현재 설치된 이미지 목록

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개 출력

 


 

 

Docker: Container keeps on restarting again on again

I today deployed an instance of MediaWiki using the appcontainers/mediawiki docker image, and I now have a new problem for which I cannot find any clue. After trying to attach to the mediawiki front

stackoverflow.com