Docker -metacoding

docker 설치 , 이미지,컨테이너 삭제

MDanderson 2024. 9. 2. 17:37

docker-compose : 컨테이너 끼리 결합 ( 두 환경을 결합해서 실행하게 해줌)

 

docker-hub :  깃헙 저장소같은  클라우드 서버( 컨테이너 서버)  . 많은 사람들이 컨테이너를 업로드하고 다른 개인이 컨테이너를 다운로드 받아서 씀(  docker, docker-compose가 설치되어 있어야 실행가능) 즉 레포지토리같은 클라우드 저장소임

 

윈도우는 버전10 이상에 pro버전이상이어야 설치가되고 실행됨 

윈도우HOME에서는 WSL2를 상용하면 설치가 가능

use WSL2 instead of Hyper-V 체크

 

cmd에서 docker run -d -p 80:80 docker/getting-started 입력

 

  1. docker run: Docker 컨테이너를 실행하는 기본 명령어입니다. 이 명령어는 지정된 이미지를 바탕으로 새로운 컨테이너를 생성하고 실행합니다.
  2. -d: 이 옵션은 컨테이너를 "detached" 모드로 실행하라는 의미입니다. 즉, 컨테이너가 백그라운드에서 실행되며, 터미널 또는 명령 프롬프트에서 바로 제어권을 되돌려받을 수 있습니다.
  3. -p 80:80: 포트 매핑 옵션입니다. 이 설정은 호스트의 80번 포트와 컨테이너의 80번 포트를 연결합니다. 이렇게 설정하면 사용자는 외부에서 호스트의 80번 포트로 접속하면 자동으로 컨테이너의 80번 포트로 연결되어 컨테이너의 애플리케이션에 접근할 수 있습니다.
  4. docker/getting-started: 실행할 Docker 이미지의 이름입니다. 이 경우, Docker Hub에서 제공하는 'getting-started' 튜토리얼 이미지를 사용합니다. 이 이미지는 Docker를 처음 사용하는 사용자들을 위해 기본적인 Docker의 사용법을 안내합니다.

이 명령어를 실행하면 Docker는 'getting-started' 이미지를 다운로드 (이미 다운로드되어 있지 않다면) 후, 해당 이미지를 사용하여 컨테이너를 생성하고 80번 포트를 통해 접근할 수 있도록 설정한 후, 백그라운드에서 컨테이너를 실행합니다. 사용자는 브라우저를 통해 http://localhost 또는 호스트의 IP 주소를 사용하여 접근할 수 있습니다.

 

docker-compose 설치(win)

https://docs.docker.com/compose/install/standalone/

 

Install Compose standalone

How to install Docker Compose - Other Scenarios

docs.docker.com

 

윈도우 powershell을 관리모드로 연후 아래 입력

Start-BitsTransfer -Source "https://github.com/docker/compose/releases/download/v2.29.2/docker-compose-windows-x86_64.exe" -Destination $Env:ProgramFiles\Docker\docker-compose.exe

 

엥? window, mac은 다운로드 받아서 설치하면 자동으로 docker-compose 가 설치된다. !

 

docker pull openjdk -> 자바설치되어있는 os환경을 다운하고 , 바로 실행시킬수 있다

docker ps 실행중 컨테이너 출력

docker images 이미지들 출력

 

jdk가 설치된 우분투가 셋팅된 것 image라고하고 이미지가 실행되서 메모리 로딩되어 인스턴스가 되면 이걸 컨테이너라고 함

 

이미지: 하드디스크 저장된 파일

컨테이너(실행중) : 프로세스 ( 메모리에 할당되어있음)

컨테이너(종료됨) : 프로세스 (메모리에 할당되어있음)

 

 

이미지 삭제하기

 

일단 삭제테스트를 하기위해 아무거나 다운로드한다.

docker pull ubuntu

 

 

docker rmi <이미지명>

docker rmi <IMAGE ID의 앞글자 일부>

 

 

실행중인 컨테이너 종료시키기

docker ps

docker stop <Container ID>

 

그 후 docker rmi <IMAGE ID> 하면 안지워짐

종료(stop)된 컨테이너도 메모리에 할당되어있어서 이미지 삭제가 안됨. 종료(stop)된 컨테이너를 삭제시켜줘야한다. 

 

docker ps -a  : stop된 컨테이너 포함 모든 컨테이너 다보기

 

컨테이너 삭제시키기

docker rm <CONTAINER ID>

 

컨테이너가 삭제되었으면 이제 image도 삭제 가능