docker

docker : 설치 및 활용

behwang 2024. 12. 11. 16:59

1. docker 설치 

 1.1. docker 엔진 설치 

  step1) dnf 플러그인 설치 : dnf -y install dnf-plugins-core

  step2) 레포지토리 추가 : dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

  step3) docker 엔진 설치 : dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

 1.2. docker 서비스 구동 (부팅시에도) : systemctl enable --now docker

 1.3. 로그인 : docker login -u [아이디]

 

2. docker 활용 

 2.1. 이미지 다운로드 : docker pull [이미지 명(레포지토리)]

 2.2. 다운받은 이미지 확인 : docker images

 2.3. 이미지 실행 : docker run -itd -p [포트번호] --name [컨테이너 명] [이미지 명(레포지토리)]

    * ex) docker run -itd -p 65080:80 --name h1 httpd

    * 이름을 정해주지 않으면 자동으로 생성되기 때문에 정해주는 것이 좋음

 2.4. 컨테이너 실행 상태 확인 : docker ps 
 2.5. 로컬 파일을 컨테이너로 복사 : docker cp [로컬 파일] [컨테이너 명:컨테이너 디렉토리]
    * ex) docker cp index.html h1:/usr/local/apache2/htdocs
 2.6. 컨테이너 상태를 이미지로 저장 : docker commit [컨테이너 명] [저장할 이미지 명]

    * ex) docker commit h1 httpd:1.0
 2.7. 이미지 ID로 이미지 삭제 :  docker rmi [이미지 ID]

    * ex) docker rmi 2582cc6739c6

 2.8. 이미지 파일들 하나의 아카이브 파일로 저장 : docker save -o [아카이브 파일명.tar] [이미지 파일명] [이미지 파일명] ...

    * ex) docker save -o test.tar httpd:1.0 alpine:latest
 2.9. 컨테이너를 아카이브 파일로 저장 : docker export -o [아카이브 파일명.tar] [컨테이너 명]

    * ex) docker export -o test1.tar a1

    * export는 환경 변수가 초기화 되므로, 컨테이너를 이미지 파일로 저장하고 save 해서 파일 이동하는 것을 권장 

 2.10. 아카이브 파일을 이미지 파일로 저장 : docker import [아카이브 파일명] [저장하고자 하는 이미지 명]
    * ex) docker import test1.tar alpine:1.0