분류 전체보기
도커 컨테이너 다루기(8) - 도커파일(Dockerfile)[2]
1. 기타 Dockerfile 명령어 ■ ENV - Dockerfile에서 사용될 환경변수를 지정 - ENV test /home 은 test라는 환경변수에 /home 이라는 값을 설정 - run 명령어에서 -e옵션을 사용해 같은 이름의 환경변수를 사용하면 기존의 값은 덮어 쓰여짐 [root@localhost dockerfile]# vi dockerfile FROM ubuntu:18.04 ENV test /home WORKDIR $test RUN touch $test/testfile test라는 변수에 /home 이라는 값을 설정하여 dockerfile을 만들었습니다. [root@localhost dockerfile]# docker build . -t test1:0.0 Sending build contex..
도커 컨테이너 다루기(8) - 도커파일(Dockerfile)[1]
보통 개발한 애플리케이션을 컨테이너화할 때 다음과 같은 방법으로 진행합니다. 1. 기본 이미지(CentOS, ubuntu 등)로 컨테이너 생성 2. 애플리케이션 및 환경 설치 3. 컨테이너를 이미지로 commit (myimage:0.0) 위 방법 사용 시 애플리케이션이 동작하는 환경을 구성하기 위해 일일이 수작업으로 패키지를 설치하고 소스코드를 깃에서 복제하거나 호스트에서 복사해야 합니다. 도커는 위와 같은 일련의 과정을 손쉽게 기록하고 수행할 수 있는 빌드 명령어를 제공합니다. 완성된 이미지를 생성하기 위해 컨테이너에 설치해야 하는 패키지, 추가해야 하는 소스코드, 실행해야 하는 명령어, 쉘스크립트 등을 하나의 파일에 기록해 두면 도커는 이 파일을 읽어 컨테이너에서 작업을 수행한 뒤 이미지로 만들어냅니..
도커 컨테이너 다루기(7) - 도커 이미지(Image)
모든 컨테이너는 이미지를 기반으로 생성됩니다. 레드햇 기반 OS에서 yum install을 실행하면 yum repository 에서 패키지를 내려받듯이 도커는 도커허브(Docker Hub)라는 중앙 이미지 저장소에서 이미지를 내려받습니다. 도커 허브는 도커의 공식적인 이미지저장소로서 도커 계정을 가지고 있다면 누구든지 이미지를 올리고 내려받을 수 있기 때문에 다른 사람들에게 이미지를 쉽게 공유할 수 있습니다. 대부분의 이미지는 도커 허브에서 공식적으로 제공하거나 사용자들이 미리 올려놓은 경우가 대부분이라서 애플리케이션 이미지를 직접 만들지 않아도 손쉽게 사용할 수 있다는 장점이 있습니다. 하지만 누구든지 올려놓을 수 있기 때문에 공식라벨(Official)이 없는 이미지는 제대로 동작하지 않을 수 있습니다..
도커 컨테이너 다루기(6) - 컨테이너 자원 할당 제한
컨테이너 생성 시(run, create) 자원 할당량을 조정하도록 옵션을 입력할 수 있습니다. 아무런 옵션을 입력하지 않으면 컨테이너는 호스트의 자원을 제한없이 쓰게 됩니다. 컨테이너 자원할당이 무제한, 즉 자원할당 옵션이 설정되어있지 않으면 호스트의 자원을 전부 점유하여 다른 컨테이너 및 호스트 자체의 동작이 멈출 수 있습니다. 1. 컨테이너 메모리 제한 [root@localhost ~]# docker run -d --memory="1g" --name memory nginx Unable to find image 'nginx:latest' locally latest: Pulling from library/nginx 69692152171a: Pull complete 30afc0b18f67: Pull com..
도커 컨테이너 다루기(5) - 컨테이너 로깅
1. json-file 로그 사용하기 도커는 컨테이너의 표준출력과 에러로그를 별도의 메타데이터 파일로 저장합니다. [root@localhost ~]# docker run -d --name mysql -e MYSQL_ROOT_PASSWD=1234 mysql:5.7 eeafd60870f87d7d47ee8d2647b1157be3b55a205f59b63678f7f85b19d7e73c 먼저 mysql 5.7 버전의 백그라운드모드의 컨테이너 하나를 생성하였습니다. [root@localhost ~]# docker logs mysql 2021-05-28 01:28:57+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.33-1debian10 start..
[ERROR] configure: error: no acceptable C compiler found in $PATH
특정 프로그램이나 유틸리티를 컴파일 설치하는 경우 다음과 같은 에러가 발생할 수 있습니다. checking for gcc... no checking for cc... no checking for cc... no checking for cl... no configure: error: no acceptable C compiler found in $PATH See `config.log' for more details. 위 문구 그대로 gcc 나 c 컴파일러 등이 없기 때문에 발생하는 에러이기 때문에 해당하는 애들을 설치해주면 됩니다. yum install gcc glibc glibc-common gd gd-devel 설치 이후 다시 configure 를 해보면 다음과 같이 잘 진행되는 것을 확인할 수 있습니다..