docker : 설치 및 활용
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