-
[Docker] 설치 및 기본 용어et al/Docker&git 2023. 6. 8. 20:31
* Docker 설치
공식 사이트에서 본인 OS(windows, mac, linux) 환경에 맞게 다운 받는다.
* 'Docker Desktop requires a newer WSL kernel version.' 해결방법
Docker을 설치 후 처음 맞닥뜨린 팝업창이다. wsl을 업데이트하면 해결된다.
Windows PowerShell을 검색해서 찾고, 관리자 모드로 실행한다.
wsl --update
power shell 창이 뜨면, 바로 위 코드를 그대로 입력해주고 enter를 누르면 자동으로 설치완료된다.
* Docker란?
2013년에 등장한 컨테이너 기반 가상화 도구이다. 가상화는 프로그램 개발시 기존 프로그램으로 인한 여러가지 오류와 충돌을 방지하기위해 기존 컴퓨터 환경에서 분리된 가상화된 공간을 만드는 것을 말한다. Docker는 세계에서 가장 유명한 오픈소스 가상화 도구라 할 수 있다.
Docker는 linux OS 기반으로 제작되었고, windows와 mac환경에서 사용하면 기존 OS위에 분리된 가상 공간을 만들어서 그 공간 안에서만 작동하는 linux OS와 Docker가 자리하게 된다. windows OS 위에 linux OS를 얹고 그 위에 Docker가 얹어지는 것이므로 windows나 mac에서 docker를 사용하면 linux에서 사용하는 것보다 성능이 약간 떨어질 수밖에 없다. 그럼에도 사용하는데 주저할 이유가 없는, 매우 강력한 가상화 도구이기에 linux가 아닌 환경에서도 Docker를 사용한다.
* Docker 기본 용어
- Docker hub : "App store"와 같은 개념. 여러가지 프로그램을 다운 받는 곳이다.
- image : "프로그램"과 같은 개념.
- container : "프로세스"와 같은 개념.
- pull : docker hub에서 image를 다운 받는 행위
- run : image를 실행시키는 행위
* Docker Pull 방법
docker는 command를 기본으로 하기 때문에 command를 알아야 좋다. doker에서 제공하는 기본 GUI(Docker Desktop)는 기능이 제한적이다. command에 대한 메뉴얼은 위 사이트에서 찾을 수 있다.
pull기능은 GUI에서도 가능한다. 하지만 여기선 command를 통해 pull하는 방법을 알아본다.
1. 위 사이트 접속. 상단 바에 Reference 클릭
2. 사이드 바에 Reference documentation에서 command-line reference에서 Docker CLI(docker)에서 docker pull 클릭.
docker pull
Download an image from a registry
Usage
$ docker pull [OPTIONS] NAME[:TAG|@DIGEST]
# 대괄호는 생략가능하다는 의미이다.3. 해당 형식대로 image를 다운받는다.
4. image가 제대로 다운되었는지 확인하기 위해서는
명령어프롬프트에 'docker images'를 입력하면 알 수 있다.
* Docker run 및 stop, start, logs, rm, rmi
docker run
Create and run a new container from an image
Usage
$ docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
# IMAGE 다음의 [COMMAND]는 그 image안에서 실행하고 싶은 명령어를 입력하는 것이다.
# [ARG]는 그 명령어에 사용되는 parameter를 의미한다.
# 대표적인 [OPTIONS]에는 --name 이 있다. [--name 이름]을 입력하면 그 이름으로 컨테이너가 만들어진다.생성한 컨테이너를 보고 싶으면 docker ps 명령어를 입력한다.
여러 개의 컨테이너를 동시에 생성할 수 있다.
docker stop
Stop one or more running containers
Usage
$ docker stop [OPTIONS] CONTAINER [CONTAINER...]
# CONTAINER에는 중지할 컨테이너의 이름을 적으면 된다. 대신 ID를 입력해도 된다.docker stop을 하면 docker ps에는 더이상 표시되지 않는다. 하지만 docker ps -a로 모든 컨테이너를 표시하는 명령어를 입력하면 볼 수 있다. stop은 삭제가 아닌 중지이다.
docker start
Start one or more stopped containers
Usage
$ docker start [OPTIONS] CONTAINER [CONTAINER...]
# 중지된 컨테이너의 이름을 지정하여 다시 실행시킨다.docker logs
Fetch the logs of a container
Usage
$ docker logs [OPTIONS] CONTAINER
# 로그가 출력되지 않을 때 로그를 확인하는 방법.(일회성 출력)
# 실시간으로 로그를 확인(출력)하고 싶을 때는 option으로 -f 를 입력한다.docker rm
Remove one or more containers
Usage
$ docker rm [OPTIONS] CONTAINER [CONTAINER...]
# 실행중인 컨테이너는 바로 지울 수 없다. 먼저 중지시키고 삭제해야한다.
# 만약 중지과정을 거치지 않고 삭제하자고 할 때는 옵션으로 --force를 입력하면 된다.docker rmi
Remove one or more images
Usage
$ docker rmi [OPTIONS] IMAGE [IMAGE...]
# image를 삭제하는 명령어이다.* 참고자료
작성한 내용은 생활코딩을 정리한 내용이다.
https://youtube.com/playlist?list=PLuHgQVnccGMDeMJsGq2O-55Ymtx0IdKWf
https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html
'et al > Docker&git' 카테고리의 다른 글
[CS] ubuntu 20.04.6 [LTS]에 NVIDIA - DRIVER 설치 (1) 2023.10.19 [Docker] 도커(wsl)에서 미니콘다(miniconda)와 vscode 연결하기 (0) 2023.06.24 [Docker] 도커 바인드 마운트(bind mount) 하는 방법 (0) 2023.06.24 [Docker] 도커에 우분투(ubuntu) 설치하는 법 (0) 2023.06.19 [Docker] Docker에 서버를 연결하는 방법(port forwarding) (0) 2023.06.08