We will find a way, we always have.

-interstellar

DevOps 16

[도커] 이미지 & 컨테이너 삭제

docker ps -a 하면 많은 컨테이너가 뜰 것이다. 이제 이것들이 나타자니 않게 깔끔히 지워보자. docker images 를 통해 설치된 이미지를 확인하고 docker rmi [IMAGE ID] 를 통해 삭제한다. 실행되고 있는 이미지는 삭제할 수 없다. 만약 실행되고 있지 않은 이미지를 전부 지우고 싶다면 docker image prune 을 사용하면 된다. 공백으로 여러 아이디를 동시에 입력하여 지울 수 있다. 추가로 --rm을 사용하여 컨테이너가 중지되면 자동으로 제거할 수도 있다. 매우 유용하니 자주 사용하길 docker run -p 3000:80 -d --rm [IMAGE ID]

DevOps/도커 2022.08.12

[도커] 파이썬과 인터렉티브

도커와 파이썬을 연결해보는 실습을 하였다. 그동안 노드로만 하다가 파이썬을 보니 매일 중국어 듣다가 한국어 들은 것처럼 매우 기뻤다...ㅎ from random import randint min_ = int(input('please enter min ')) max_ = int(input('please enter max ')) if (max_ < min_): print('Invalind input - shuttind down') else: rnd_num = randint(min_, max_) print(rnd_num) 이제 파이썬을 도커화해보자. FROM python WORKDIR /app COPY . /app CMD ["python", "rng.py"] 도커 터미널에서 이미지 빌드하고 컨테이너를 실행시킨..

DevOps/도커 2022.08.12

[도커] Attached 모드 & Detached 모드

docker --help - 사용가능한 명령어들을 설명해줌 docker ps - 현재 실행중인 컨테이너 리스트를 확인할 수 있음 docker ps -a - 더 이상 실행되지 않는 중지된 컨테이너 포함하여 보여줌 docker start [컨테이너 name] - 중지된 즉 더이상 실행되지 않은 컨테이너 다시 실행시킴. 변경사항이 없어 다시 이미지부터 빌드할 필요가 없을 때 ps -a을 사용해 이름 찾아 사용 run과 다르게 터미널에서 우리를 차단하지는 않음 start로 시작하는 경우 Detached 모드 디폴트 (터미널 차단 X) run으로 시작하는 경우 Attached 모드 디폴트 (터미널 차단 O) 터미널이 차단됐다는 이야기는 지들이 할말이 있다는 얘기 name 앞에 -d 를 붙여 Detached 모드로..

DevOps/도커 2022.08.12

[도커] 이미지와 컨테이너

이미지는 읽기/쓰기 엑세스 권한이 있는 인스턴스를 실행하는 컨테이너의 "블루프린트"이다. 이미지를 통해 컨테이너가 서로 독립적으로 존재함과 동시에 동일한 이미지를 기반으로 할 수 있다. 컨테이너는 이미지를 기반으로 하는 격리된 소프트웨어 유닛이다. 이미지의 실행중인 인스턴스이다. 도커 실습 코드 # 자체 명령어 자체 이미지를 빌드할 때 실행할 명령어 # 이미지 설정을 위한 도커의 명령 # 이미지를 기반으로 컨테이너 실행 FROM node # 모든 수행을 app 파일 안에서 진행하라는 의미 WORKDIR /app # 첫번째 . 모든 파일 의미, 두번째 .는 그 파일을 저장해야하는 이미지 내부의 경로 # Host file system image/ container file system # app에 저장됨 만..

DevOps/도커 2022.08.12

[도커] 도커 첫 발걸음

도커 설치를 위해 WSL 2와 우분투를 추가적으로 설치했다. 운영체제 마다 또 윈도우 버전 마다 설치 방법이 달랐는데,, 도커의 장점 중 하나가 환경과 버전차이로 인한 문제해결이라고 알고있는데 이미 도커 설치부터 번거로웠다..ㅎ 도커 실습 코드 # app.mjs import express from 'express'; import connectToDatabase from './helpers.mjs' const app = express(); app.get('/', (req, res) => { res.send('Hi there!'); }); await connectToDatabase(); app.listen(3000); 아래와 같은 명령어를 도커 터미널에서 실행할 수 있다. 반드시 도커파일이 있는 경로인 터미..

DevOps/도커 2022.08.12

[도커] 도커와 컨테이너

도커는 컨테이너를 생성하고 관리하는 도구이다. 소프트웨어 유닛을 컨테이너라고 하며 여기에는 소스코드, 런타임 또는 실행시켜주는 기타 도구가 포함되어 있다. 버전 차이로 생기는 오류를 해결할 수 있는 것이 바로 도커이다. 이전 같은 경우에는 새로운 버전을 재설치, 삭제를 반복하여 문제를 해결하였다면, 도커와 컨테이너가 있다면 각 버전을 컨테이너에 보관하고 필요한 버전을 꺼내 사용하면 되었다. 사아실 아직까진 도커가 무엇인지, 또 도커의 필요성은 아직 잘 모르겠다 char char 알아가야지!!!

DevOps/도커 2022.07.25