도커 설치 및 설정

JI YEON KIM·2024년 10월 21일
0

Docker는 컨테이너 기반의 가상화 기술로, 애플리케이션을 환경에 상관없이 어디서든 실행할 수 있도록 해주는 도구입니다. 컨테이너는 애플리케이션과 그에 필요한 라이브러리, 설정 파일 등을 하나의 패키지로 묶어 독립된 환경에서 실행할 수 있도록 해줍니다.간단히 말하면:
컨테이너는 애플리케이션을 구동하는 데 필요한 모든 것을 포함한 가벼운 패키지입니다.
Docker는 이 컨테이너들을 관리하고 실행할 수 있는 도구입니다.
이를 통해 개발자가 "내 로컬에서 잘 돌아가던데?" 같은 문제 없이 동일한 환경을 손쉽게 구축하고 배포할 수 있게 도와줍니다.

도커 설치

윈도우의 경우 docker desktop 설치 전 wsl 설치 필수

https://docs.docker.com/desktop/install/windows-install/

  • Docker Desktop for Windows - x86_64 설치


    터미널에서 docker 입력했을때 위와같이 노출되어야 설치된 것.

https://hub.docker.com/
https://hub.docker.com/_/postgres

docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres

이미지가 생긴 것

stop 했는데 그대로 있어서 도커에서 직접 지움


데이터 베이스를 다시 만들고 데이터 베이스에 접속까지 완료

역슬래시 (\ㅣ) 통해 PostgreSQL 데이터베이스 클라이언트 psql의 출력확인
사용자는 Docker 컨테이너 내에서 PostgreSQL에 접속하여 현재 존재하는 데이터베이스 목록을 조회한 것

리눅스 내 가상 컴퓨터니까, 컴퓨터랑 똑같이 생성되어 있음

텐서플로우 사용할때 cuda 버전 맞추는 것과 같은 문제를, docker가 해결함

도커로 파이썬 설치

docker container run python:3.11.6

  • 이미지만 받는다 docker pull
    이미지를 받고 실행까지 한다 docker run

워드프레스 설치


http://localhost:8080/ 로 접속하면 아래와 같은 화면 노출

별도 설정한 건 없음

우분투 내에 프로그램 설치, 프로그램을 가진 image 만들기

docker container run -it ubuntu
apt update
apt install net-tools


내 가상환경 주소 확인

지금 하는 작업은 image에 프로그램을 깔고 저장하는 걸로.
container 자체에 까는 방법은 없고 image에 설정을 해야함.

미니포지 설치하기~

apt install wget
wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.sh

root@075e63bc916e:/# cd root
root@075e63bc916e:~# cd miniforge3/
root@075e63bc916e:~/miniforge3# cd bin
root@075e63bc916e:~/miniforge3/bin# pwd #현재 주소 확인
/root/miniforge3/bin


./conda init 통해서 가상환경(세팅한 image) 접속
단, 지금 docker stop시 저장한 게 사라짐
그래서 저장까지 할 예정
새 프롬프트를 열어서 ls 함 (현재 실행중인 것들 확인)

작업중인 우분투 콘테이너 ID 확인

docker container commit 075e6 miniforgeubuntu
지금 작업중인 075e6~ 작업을 미니포지
우분투 라는 이름으로 저장해라! 라는 뜻
제대로 설치 및 저장이 됨.

도커의 장점 : 만약 지금 내 컴퓨터 가상환경에서 돌아가는 파일을 아마존 서버에서 돌리면 파이썬부터 여러 라이브러리를 다 설치해야 하는데 도커를 사용하면 도커HUB 통해서 아마존 서버에다가 image를 복사하면 됨.
로컬에다가 도커 파일을 받아서 동일한 환경에서 돌려볼 수 있는 것(다른 주소)

내 컴퓨터의 파일을 도커로 복사

C:\Users\5-12>docker container cp ./test.txt 9ffe6f:/
Successfully copied 2.05kB to 9ffe6f:/

docker container cp ./파일 도커ID:/

복사 완료


다만, exit 후 다시 접속시, image로 저장을 안 했기 때문에 새로운 컨테이너로 접속되고, test.txt는 없음
컨테이너는 save 개념이 없음, 복사되어 생성되는 것

docker start -i 도커ID # 이후 ctrl+c 하는 경우, 바로 접속

텐서플로우 도커

docker run -it -p 8888:8888 tensorflow/tensorflow:latest-jupyter



제대로 들어온 것을 확인

profile
안녕하세요. 김지연입니다.

0개의 댓글