docker images
docker ps
docker exec -it -u 0 컨테이너ID sh
-it
: 대화형(interactive) 모드 및 유사 tty를 사용-u 0
: 사용자 ID를 0으로 설정하여 루트 사용자로 실행컨테이너ID
: 도커 컨테이너의 이름 또는 ID로 변경sh
: 접속할 쉘을 지정. sh이나 bash를 사용할 수 있음Docker 컨테이너 이미지를 빌드하기 위한 지침을 담은 텍스트 파일
Docker 엔진에게 어떻게 이미지를 구성하고 빌드해야 하는지를 알려줌
각각의 명령어는 Docker 이미지를 구성하는 과정을 단계별로 정의
docker build .
여러 개의 도커 컨테이너를 정의하고 실행하기 위한 도구
여러 서비스를 조합하여 애플리케이션을 구축하고 실행하는 데 사용
실행
docker-compose up -d
예시
version: '3.8'
services:
mongo: # MongoDB 서비스 정의
image: mongo:latest # MongoDB 도커 이미지
container_name: my_mongo # 컨테이너 이름
ports:
- "27017:27017" # 호스트 포트와 컨테이너 포트 매핑
environment:
MONGO_INITDB_ROOT_USERNAME: admin # MongoDB root 사용자 이름 설정
MONGO_INITDB_ROOT_PASSWORD: secret123 # MongoDB root 비밀번호 설정
MONGO_INITDB_DATABASE: my_database # 초기 데이터베이스 설정
volumes:
- mongo_data:/data/db # 호스트와 컨테이너 간의 데이터 볼륨 공유
restart: unless-stopped # 종료 상태가 아닌 경우에만 재시작
mongo-express: # MongoDB Express 서비스 정의
image: mongo-express:latest # MongoDB Express 도커 이미지
container_name: my_mongo_express # 컨테이너 이름
ports:
- "8081:8081" # 호스트 포트와 컨테이너 포트 매핑
environment:
ME_CONFIG_MONGODB_SERVER: mongo # MongoDB 서버 호스트 설정
ME_CONFIG_MONGODB_PORT: 27017 # MongoDB 서버 포트 설정
ME_CONFIG_MONGODB_ADMINUSERNAME: admin # MongoDB root 사용자 이름 설정
ME_CONFIG_MONGODB_ADMINPASSWORD: secret123 # MongoDB root 비밀번호 설정
restart: unless-stopped # 종료 상태가 아닌 경우에만 재시작
# 네트워크 설정
networks:
my_network:
driver: bridge
# 볼륨 설정
volumes:
mongo_data:
driver: local
docker login -u 유저ID
docker commit 컨테이너ID 유저ID/새이미지명:태그
docker push 유저ID/이미지명:태그
https://docs.docker.com/engine/reference/builder
https://docs.docker.com/compose/gettingstarted
https://github.com/docker/awesome-compose/tree/master