<도커 이미지 생성>
1.접속
-터미널에서 접속
-root계정 로그인
2.도커 이미지 생성
먼저 Docker Hub Web(https://hub.docker.com/) 에서 공식 레파지토리와, 누군가가 올려놓은 public repository에서 pull받고자하는 이미지를 찾는다.
-docker images 명령어로 현재 이미지 리스트 조회
-docker pull [옵션]<이미지명>[:태그명]
ex) docker pull dhmk815/tibero:6.0.2
※ 옵션
--automated=false : Automated Build만 표시
--no-trunc=false : 모든 결과를 다 표시
-s[--stars=n] : star 수가 n개 이상인 결과만 표시

<도커란?>
리눅스 컨테이너를 기반으로 서비스를 패키징하고 배포하는데 유용한 오픈소스 프로그램

가상머신은 Guest OS를 만들어서 Host OS(메인운영체제)에서 자원을 일부 사용하여 구동시킨다. 메인 운영체제도 느려지고 Guest OS도 성능이 좋은 편이 아니다.
컨테이너는 꼭 필요한 것만 담겨서 구동 되며 컨테이너에 필요한 커널은 호스트의 커널과 공유해서 사용하고, 컨테이너 안에는 애플리케이션을 구동하는데 필요한 라이브러리 및 실행파일만 존재함으로 컨테이너를 이미지로 만들경우 용량이 줄어든다.
도커의 장점
- 호스트 OS, 다른 컨테이너와 독립된 공간을 보장받을 수 있기 때문에 충돌 발생 염려가 없다.
- 컨테이너 내부 작업을 한 후에 배포하려고 한다면 도커 이미지로 만들어서 운영서버에 전달하면 된다.
- 컨테이너 하나당 하나의 기능만을 모듈로 만들어서 부하가 많은 모듈은 여러개 더 만들고 하는 조정이 가능
도커 설명
- 도커 이미지 : 도커 컨테이너를 구성하는 파일 시스템과 실행할 애플리케이션 설정을 하나로 합친 것으로, 컨테이너를 생성하는 템플릿 역할을 한다.
- 도커 컨테이너 : 도커 이미지를 기반으로 생성되며, 파일 시스템과 어플리케이션이 구체화되어 실행되는 상태
- 도커 허브 : 컨테이너 이미지를 찾고 공유하기 위해 도커가 제공하는 서비스


도커 이미지 명령어
- $docker image pull[options] 레포지토리명[:태그명] -> 도커 레지스트리에서 도커 이미지를 내려받는다
- $docker image push[options] 레포지토리명[:태그명] -> 도커 이미지를 도커 허브 등의 레지스트리에 등록한다.
- $docker image rm[id 또는 이미지명]
docker run(컨테이너 실행) 명령어 옵션
$docker run <옵션> <이미지 식별자> <명령어> <인자> -> 기본 포멧
- -d : 컨테이너를 백그라운드에서 실행
- -it : 컨테이너를 종료하지 않은체로, 터미널의 입력을 계속해서 컨테이너로 전달하기 위해 사용
- --name : 컨테이너에 이름을 부여
- -e : 컨테이너의 환경변수를 설정하기 위해서 사용
- -p : 호스트와 컨테이너 간의 포트 배포/바인드를 위해서 사용, 호스트 컴퓨터에서 컨테이너에서 리스닝하고 있는 포트로 접속할수 있도록 설정
- -v : 호스트와 컨테이너 간의 볼륨설정을 위해서 사용
도커 허브(docker hub)
도커 허브를 기준으로 도커 이미지 이름은<NAMESPACE>/<IMAGE_NAME>:<TAG>형식으로 구성
docker.io/library/nginx:latest
docker.io : 이미지 저장소의 실제 주소
library : 도커 허브의 공식 이미지가 저장되어있는 특별한 네임스페이스
nginx:latest : 요청 풀이름
*오류
도커 이미지 삭제 오류

-> 이미지 mariadb를 삭제하려고 할 때 이미지를 참조 중이여서 발생하는 에러이다. 컨네이너ID가, 이미지ID를 참조중

-> docker container ls -a로 해당 ID를 가진 컨테이너 확인 후 삭제하고자 하는 이미지를 바로 보고 있는 컨테이너 모두 삭제



'Docker' 카테고리의 다른 글
[Docker] 도커 개념 설명 | 도커는 왜 사용하는 걸까? (0) | 2025.02.19 |
---|---|
Docker Compose File (0) | 2025.02.18 |
Docker환경에서 MSSQL설치하기 (0) | 2025.02.18 |
MSSQL 서버 올리기 (5) | 2024.10.31 |
Docker 명령어 구조 (1) | 2024.09.03 |