본문 바로가기

Docker Tip 컨테이너 통신 docker컨테이너를 사용하며 컨테이너간 상호 통신을 사용해야할 때가 있다. docker network 설정이 아닌 link방법 docker run 명령으로 실행시 docker run --link 위와같이 –link옵션을 지정하게 되면 해당 컨테이너에서 link를 걸게 된 컨테이너와 통신을 할 수 있게 된다. 예를 들어 DB 컨테이너와 flask 컨테이너가 있다고 가정해본다. flask 컨테이너는 DB 컨테이너의 내용을 띄워야 하는 상황이다. 이때 docker의 사설IP나 포트를 사용해도 되지만, 다음과 같은 방법으로 편하게 사용이 가능함. docker run -p 3306:3306 --name maria mariadb docker run -p 5000:5000 --link maria python 이제 .. 더보기
Docker Tip mariadb 초기 설정 자세한 사용법은 공식 문서에 자세히 나와있고, 여기서는 대략적인 사용법에 대해서만 다룬다. 참고 링크 Mariadb - Official Image | Docker Hub We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy hub.docker.com Example FROM mariadb:10.5 COPY ... 더보기
docker-compose 자주 사용되는 명령 (이전 완료) docker-compose는 여러개의 컨테이너를 한번에 다루기 위한 서비스로써, yml파일을 통해 설정한다. example version: '3' services: db: image: jhkimdocker/jhmaria:v1_onlypw ports: - "13306:3306" app: build: context: ./ dockerfile: ./Dockerfile_flask depends_on: - db ports: - "5010:5000" environment: - SOME_ENV1=1 - SOME_ENV2=2 - SOME_ENV3=3 command: python hello_world.py version 버전을 명시한다. 위처럼 ‘3’만 적게되면, 3.x버전을 사용하겠다는 의미다. service comp.. 더보기
Dockerfile 자주 사용되는 명령 (이전 완료) 자세한 작성법은 공식 문서에 자세히 나와있고, 여기서는 대략적인 사용법에 대해서만 다룬다. dockerfile api Dockerfile reference docs.docker.com 예시 FROM python:3.7 RUN apt-get -y update RUN apt-get -y install vim COPY ./ /usr/src/app WORKDIR /usr/src/app EXPOSE 1234 CMD python abc.py 이 이미지는 1) python:3.7 를 베이스로 하고, 2) 컨테이너에서 update명령을 실행하고, 3) vim을 설치한다 4) dockerfile 있는 로컬의 현재 디렉토리에 있는 내용을 컨테이너의 /usr/src/app에 옮긴다. 5) cd /usr/src/app 6) .. 더보기
Docker CLI 자주 사용되는 명령 (이전 완료) 자세한 사용법은 공식 문서에 자세히 나와있고, 여기서는 대략적인 사용법에 대해서만 다룬다. 공식 문서 Use the Docker command line docs.docker.com docker run docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG…] 해당하는 이미지의 컨테이너 실행 이미지를 다운, 이미지의 컨테이너를 생성, 실행을 한번에 한다 -d : detached mode 백그라운드로 실행되게 한다 -p : 호스트와 컨테이너의 포트를 연결 (포워딩) -v : 호스트와 컨테이너의 디렉토리를 연결 -e : 컨테이너 내에서 사용할 환경변수 설정 –name : 컨테이너 이름 설정 –rm : 프로세스 종료시 컨테이너 자동 제거 -it : -i와 -t를 동시.. 더보기
Docker 컨테이너 설정 변경 (이전 완료) 1. 현재 컨테이너 종료 docker stop {container_name} 2. 컨테이너 commit docker commit {container_name} {저장할 image_name} 컨테이너를 커밋하게 되면, 해당 컨테이너 그대로 이미지로 구워진다. 3. 컨테이너 재실행 docker run {저장한 image_name} 이외에는 컨테이너의 config파일을 바꾸는 방법이 있긴 하지만, docker 자체를 내렸다 올려야 하기 때문에 다른 컨테이너에도 영향이 간다 더보기
Docker 고급 램 할당 변경 (이전 완료) 딥러닝등 도커에서 빡센 작업을 돌리다 보면, 도커에 할당된 램이 기본으로는 4mb이므로 굉장히 부족하다. 그럴때 docker 공유 메모리를 ——shm-size={size}라는 옵션으로 늘린다. docker run --shm-size=8G python 더보기
Docker 란 (이전 완료) 1. Docker Docker는 컨테이너 기반의 가상화 플랫폼이다. 기존 host OS위에 가상 OS를 띄워 OS 기반으로 어플리케이션을 서비스 하는 방식에서 좀 더 가벼운 컨테이너 기반으로 프로세스 격리를 통해 가상화를 가능하게 해주어 자원 낭비를 최소화 하였다. 그림에서 보다시피 기존 VM방식은 호스트위 가상 OS를 띄워 해당 OS위에서 서비스를 제공해주는 방식이였다면, Docker의 경우 Docker 미들웨어를 두고 컨테이너를 통해 서비스를 제공해준다. 이러한 방식의 장점으로는 빠르게 컨테이너 단위로 실행 및 파괴가 가능하기 때문에 더욱 쉽게 자원 관리를 할 수 있게 된다. 또한 하나의 서비스를 제공하기 위해 필요한 단위가 작아지므로 같은 자원 대비 더욱 많은 서비스 제공이 가능해지게 된다. 2. .. 더보기
Github Actions 2. action 사용 action이란 workflow에서 가장 작은 단위의 블록으로써, github에서 제공하거나, 다른 유저들이 제공하거나 또는 내가만들어서 사용할 수 있다. 1. 다른 Repository에 있는 action 사용. 다른 repo에 있는 action를 사용하기 위한 사용법은 다음과 같다. uses: {owner}/{repo}@{ref} 다른 유저들의 action는 Marketplace에서 검색이 가능하다. 또한 github를 포함한 여타 많은 플랫폼에서 많은 action를 제공한다. ex) docker build, aws접속 등… 검색을 하게되면, 기본적인 사용법을 알 수 있다. 아래 사진은 github에서 공식적으로 제공하는 Node.js를 세팅하는 action다. 해당 페이지에 들어가게 되면, actio.. 더보기