본문 바로가기

IT/도커15

5. 도커 환경변수 위 코드는 배경이 있는 웹페이지를 표시하는 간단한 웹 애플리케이션의 코드이다. 중간에 color = "red"로 설정되어 있어 항상 빨간색 배경을 나타내는데 나중에 색을 바꾸려면 코드는 수정해야한다. 색을 바꿀 때 더 좋은 방법은 해당부분을 os.environ.get('APP_COLOR') 로 수정해 환경변수로 빼는 방법이다. 다음에 애플리케이션을 실행할 때 APP_COLOR이라는 환경변수를 원하는 색으로 설정하면 애플리케이션에 새 색상이 적용된다. 1. -e 옵션을 사용해 실행할 컨테이너 내에 환경변수를 설정 $ docker run -e [key=value] [image_name} ex) $ docker run -e APP_COLOR=blue my-webapp 위 app.py 코드를 my-webapp .. 2023. 1. 22.
4. 도커 이미지 생성, 푸쉬 애플리케이션에서 사용하려는 컴포넌트나 서비스를 docker hub에서 찾을 수 없거나 개발 중인 애플리케이션을 도커화해서 배포를 쉽도록 만들고 싶을때 도커 이미지를 직접 만들어야한다. 파이썬 웹 애플리케이션을 만든다고 가정해보자 만약 수동으로 설정해야한다면 1. 우분투 같은 os로 시작해 2. apt-get update 로 소스 리포지토리를 업데이트하고 3. apt-get install -y python3와 python3-pip를 설치하고 4. pip 명령어로 flask를 설치하고 5. 애플리케이션의 소스코드를 넣은 뒤 6. flask 명령어로 웹 서버를 가동한다. 위와 같은 내용을 하나하나 다 처리해야한다. 1. Dockerfile 파일 생성 FROM ubuntu RUN apt-get update RU.. 2023. 1. 21.
3. 도커 실행 관련(태그, 포트, 볼륨 매핑 등) docker run 은 컨테이너를 실행하는 명령어 이다. $ docker run redis docker run redis 명령어로 redis 서비스를 실행하는 컨테이너를 실행한다. 버전을 확인해 보면 현재 가장 최신 버전(7.0버전) 이미지를 가져와 실행하게 된다. 그럼 다른 버전의 redis를 실행하고 싶으면 어떻게 해야할까? 1. 태그(Tag) $ docker run redis:5.0 이미지 뒤에 :(콜론)을 입력하고 버전을 쓰면 된다. 이것을 태그(Tag)라고 한다. docker는 아무런 태그를 입력하지 않으면 자동으로 기본 태그를 latest로 간주한다. 2. 표준입력 $ docker run -it [이미지] -i 옵션을 사용해서 호스트의 표준 입력값과 docker 컨테이너를 맵핑해서 입력값을 받.. 2023. 1. 19.
2. 도커에서 ubuntu 이미지 실행(sleep, exec) $ docker run ubuntu 위 명령어를 입력하면 ubuntu 이미지의 인스턴스를 실행하고 즉시 종료된다. docker ps 로 실행중인 컨테이너 목록을 확인해도 실행되고 있는 컨테이너가 없다. docker ps -a 로 멈춘 컨테이너까지 포함한 모든 컨테이너를 확인해 보면 새 컨테이너가 종료된 상태임을 확인할 수 있다. 왜 이런걸까? 가상머신과는 다르게 컨테이너의 목적은 운영체제 호스팅이 아니라 특정 작업이나 프로세스를 처리하는것이다. 컨테이너는 내부 프로세스가 실행되는 동안만 존재하며, 작업이 끝나면 컨테이너는 종료된다. ubuntu 이미지로 아무 작업도 하지않고 실행만 하니까 바로 종료되는 것이다. ubuntu의 경우와 같이 실행되는 서비스가 없는 이미지라면 sleep 명령어를 통해 dock.. 2023. 1. 19.
1. 기본적인 docker 명령어 1. 컨테이너 실행 $ docker run docker run 명령어는 이미지로 부터 컨테이너를 실행할 때 사용한다. docker run nginx 명령어 실행 시 docker 호스트에 nginx 애플리케이션 인스턴스가 있다면 해당 인스턴스를 실행. 호스트에 이미지가 없으면 docker hub를 이용해 이미지를 pull 한다. pull 작업은 한번만 처리되기 때문에 명령어를 여러 번 실행해도 같은 이미지를 재사용한다. 2. 실행되고있는 모든 컨테이너 조회 $ docker ps docker ps 명령어는 실행되는 모든 컨테이너의 기본정보를 나열한다. 각 컨테이너는 docker에 의해 자동으로 생성된 컨테이너ID와 이름(NAME)을 갖는다. $ docker ps -a -a 옵션을 사용하면 이미 멈췄거나 종료.. 2023. 1. 19.
우분투에 도커 설치 https://docs.docker.com/engine/install/ubuntu/ Install Docker Engine on Ubuntu docs.docker.com 도커 공식문서 우분투 설치 관련 페이지로 들어간다. OS 요구사항 - 위 버전에서만 설치할 수 있다. 0. 우분투 버전 확인하기 $ cat /etc/*release* 명령어를 입력하면 현재 우분투의 버전을 확인할 수 있다. 중간에 VERSION= ... 부분을 보면 Jammy Jellyfish 라고 나와있는걸 확인할 수 있다. 1. 기존에 오래된 docker 버전이 있다면 삭제하기 2. 쉘 스크립트 방식으로 docker 설치하기 sh파일을 다운받고 실행하면 도커 설치가 시작된다. 1~2분 정도 걸릴 수 있다. 3. 설치된 도커 버전 확인.. 2023. 1. 18.