Computer (114) 썸네일형 리스트형 예외 처리에서의 동작 수행 - try/except/else/finally 파이썬에서 예외를 처리하는 과정에서 특정 동작을 수행하고 싶을 때 try, except, else finally 구문을 사용합니다. 전체 복합문에서 각 블록은 서로 다른 목적에 쓰이며, 다양하게 조합하면 유용합니다. finally 예외가 발생하면 본래 호출 스택의 위 (함수 자신을 호출한 함수 쪽)로 예외를 전달해야 하지만, 예외가 발생하더라도 정리 코드를 실행해야 한다면 try/finally 블록을 사용합니다. 특히, 파일을 열고 안전하게 닫는 경우에 자주 사용합니다. def try_finally_example(filename): print('파일 열기') handle = open(filename, encoding='utf-8') try: print('데이터 읽기') return handle.read(.. Dockerfile (2) - RUN, CMD, ENTRYPOINT Dockerfile (1) - 개요 이번 포스트에서는 Dockerfile에서 만든 이미지로 컨테이너를 실행했을 때 각종 명령을 실행하는 방법에 대해 알아보려 합니다. RUN 컨테이너에 FROM 명령에서 지정한 베이스 이미지에 대해 "애플리케이션/미들웨어를 설치한다"/"환경구축을 위한 명령을 실행한다" 등의 명령을 실행할 때 RUN 명령을 사용합니다. RUN 이후에 일반적인 쉘 스크립트 형식으로 명령을 기술할 수 있고 ['args1', 'args2',...] 형식으로 지정할 경우 쉘을 경유하지 않고 직접 실행합니다. 컨테이너 실행시의 디폴트 쉘은 ['bin/sh', '-c'] 형식으로 지정됩니다. 다음 명령어를 통해 도커 이미지를 빌드하면 명령이 한 줄씩 실행되면서 이미지를 생성하고 쉘 스크립트 형식은 /.. Dockerfile (1) - 개요 Docker에서는 인프라의 구성 관리를 Dockerfile 로 기술합니다. Dockerfile 에는 베이스가 되는 이미지에 각종 미들웨어와 애플리케이션의 실행 기반의 모든 구성 정보를 기술합니다. 지난 포스트에서는 생성된 기존 이미지에 컨테이너 생성 시의 설정을 수동으로 수행하였으나 이를 dockerfile에 종합적으로 기술하여 관리할 수 있습니다. Dockerfile 에는 다음과 같은 컨테이너의 구성 정보를 담을 수 있습니다. 베이스가 될 Docker 이미지 Docker 컨테이너 안에서 수행할 명령 환경변수 등의 설정 Dockerfile Dockerfile은 텍스트 형식의 파일로 임의의 에디터를 사용하여 작성할 수 있습니다. 가장 먼저 기술되어야 할 내용은 docker 컨테이너를 어떤 도커 이미지로부터.. Mutable Default Arguments 파이썬은 굉장히 직관적인 언어입니다. 상대적으로 간단한 문법과 범용성으로 다양한 분야에서 많은 사람들이 사용하고 있지만 놓치기 쉬운 가벼운 실수들이 있습니다. 이번 포스트에서 살펴볼 것은 함수 정의에서 리스트 등의 가변 변수가 디폴트 값으로 설정되었을 때 발생하는 현상입니다. 다음과 같은 함수를 작성했을 때, def append_to(element, to=[]): to.append(element) return to my_list = append_to(12) print(my_list) my_other_list = append(42) print(my_list) 우리가 기대하는 실행 결과는 'append_to' 함수가 호출되었을 때마다 'to' argument의 새로운 리스트가 생성되어 [12], [42] 가.. Pycharm 설치 Pycharm은 체코 회사 JetBrains 에서 개발된 파이썬 언어를 위한 거의 모든 기능을 갖춘 통합 개발 환경 (IDE, Integrated Development Environment) 로서 가상환경 (virtual env), Console, Jupyter Notebook, 시스템 에뮬레이터 (Terminal) 을 지원합니다. Community Edition과 Professional version이 존재하며 community edition만 무료로 사용할 수 있습니다. (참고로 Professional version은 개인이 사용하려면 월 $89 가 필요하며 오래 구독할 수록 구독료가 감소합니다.) Pycharm 다운로드 공식 홈페이지에서 Pycharm을 다운받습니다. 이때 community edit.. Docker container 실행 - docker run (2) 컨테이너의 네트워크 설정 Docker run 명령어는 네트워크 옵션을 다음과 같이 지원합니다. Option Description --add-host=[호스트명:IP 주소] 컨테이너의 /etc/hosts에 호스트명과 IP 주소를 정의 --dns=[IP 주소] 컨테이너용 DNS 서버의 IP 주소 지정 --expose 지정한 범위의 포트 번호를 할당 --mac-address=[MAC 주소] 컨테이너의 MAC 주소를 지정 --hostname, -h 컨테이너 자신의 호스트명 지정 --publish, -p[호스트의 포트 번호:컨테이너의 포트 번호] 호스트와 컨테이너의 포트 매핑 --publish-all, -P 호스트의 임의의 포트를 컨테이너에 할당 다음의 명령은 nginx라는 이름의 이미지를 바탕으로 test라는 .. Docker container 실행 - docker run (1) 지난 포스트의 다양한 도커 이미지 커맨드를 통해 이미지를 생성했으면 컨테이너를 생성할 수 있습니다. 도커 이미지는 docker에서 서버 기능을 작동시키기 위해 필요한 디렉토리 및 파일들로서 컨테이너 실행 시 이미지에 포함된 파일과 디렉토리의 스냅샷을 생성하고 호스트 OS 상에서 프로세스로 실행됩니다. 이때 docker run 커맨드로 이미지로부터 컨테이너를 생성하고 실행할 수 있습니다. 위의 그림과 같이 docker create 커맨드로 컨테이너를 생성할 수 있으나 create 명령어는 컨테이너를 생성만 할 뿐 실행하지는 않으므로 일반적으로 docker run 을 통해 컨테이너를 생성함과 동시에 실행합니다. 도커 컨테이너와 관련된 대표적인 명령어로는, 1) 정지된 컨테이너를 시작하는 docker cont.. Docker 이미지 커맨드 Docker hub는 도커의 공식 리포지토리 서비스로 github이나 bitbucket 같은 소스코드 관리 툴과 연계하여 이미지를 빌드할 수 있으며 물리/가상/클라우드 등의 플랫폼에 상관없이 이미지를 배포할 수 있습니다. 이번 포스트에서는 도커 이미지에 관련한 다양한 도커 커맨드를 알아보도록 하겠습니다. 이미지 다운로드 Docker hub에서는 docker image pull 명령어를 사용하여 이미지를 다운받을 수 있습니다. docker image pull [옵션] 이미지명[:태그명] 예를 들어 CentOS의 버전 7을 다운로드하려면 "docker image pull centos:7" 명령어를 사용하면 취득이 가능하고 태그명을 생략하면 최신판 (latest)를 취득합니다. 이때 "-a" 옵션을 지정하면 .. 이전 1 ··· 6 7 8 9 10 11 12 ··· 15 다음