Hyemi Lee

Hyemi Lee

주니어 개발자의 삽질과 기록

Doker, Docker container에 소스 코드 배포하기

목표

나만의 Docker 이미지에 소스 코드를 배포하는 과정

1. my-slipp이라는 이름으로 컨테이너 실행

$ docker run -dit --name my-slipp -p 7000:8080 my-dev

docker port

  • 외부에서 7000번 포트로 접속하면 컨테이너의 8080포트로 접속가능해진다.

run 옵션 설명

run : 독립된 container를 실행

  1. -d (Detached) : cotainer를 background에서 실행한다
  2. -i (interactive): 컨테이너와 상호적으로 주고받고 하겠다
  3. -t (pseudo-tty) : command line을 실행하기 위해 TTY를 할당한다
  4. -it
    shell과 같은 Interactive process에서는 tty를 할당하기 위해서 -it를 함께 사용해야 한다
    -i와 -t를 동시에 사용한 것으로 터미널 입력을 위한 옵션
  5. -p : 컨테이너 안에서 서비스를 구동하고, 외부에서 그 서비스에 접근하려고 할때 사용

(-p)도커에서 Container 포트와 Host 포트의 개념

docker port1

-p [연결할 호스트의 포트 번호]:[컨테이너의 포트 번호]
-p 80:5000
도커를 설치한 호스트의 80포트를 , 컨테이너의 5000번 포트에 연결하겠다.
외부에서 서버 80포트로 접근 -> 80포트는 컨테이너의 5000번 포트에 연결되어있음
따라서, 외부에서 80번 포트로 접속한다 = 컨테이너의 5000번 포트에 접속한다

(注記)port 설정이 중요한이유 docker port 2

  • MySQL은 무조건 3306으로 접근해야한다.
    $ docker run -e MYSQL_ROOT_PASSWORD=1 -p 80:5000 --name test.mysql mysql:latest
    
  • 으로 컨테이너를 사용한다면, 80번 포트로 접속하면 컨테이너의 5000번 포트로 연결될것이다.
  • 컨테이너 설정 후, 80번 포트로 접속하면 mysql사용 불가능하다. 왜냐면 mysql은 3306포트를 사용하기 때문이다.
  • 컨테이너 안에서 구동중인 mysql은 3306 컨테이너 포트를 사용하고 있는데, 호스트의 80포트는 3306과 연결되어 있지 않기 때문이다.

docker port3

2. 컨테이너 접속

$ docker exec -it my-slipp /bin/bash

3. 폴더 생성 후, git clone

$ cd /usr/apps
$ git clone https://github.com/devham76/SLiPP-study.git

4. git branch확인 후, 배포할 branch checkout

  • 배포할 브랜치가 없어서 영상과 기록은 여기까지 하겠다.
  • 6:00 부터 영상 다시 보기.

참고

Tags:

Categories:

Updated:

Share on

Twitter Facebook LinkedIn

You may also enjoy

Redis Stream

2021年04月28日

Stream Stream은 로그 데이터를 처리하게위해 5.0에서 새로 도입된 데이터 타입입니다. 대량의 데이터가 연속적으로 발생할때 처리하기 위해 등장했습니다. 기존 데이터를 수정하지 않고 오직 추가로 발생합니다. 이런 종류의 데이터를 stream or log데이터...

Study, Object, chapter2&3 presentation

2021年04月20日

chapter03. 역할, 책임, 협력 객체지향 설계란, 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동이다.

Spring, chatting 프로그램 만들기, Reactive란?

2020年06月16日

Reactive 막힘없이 흘러다니는 data(event)를 통해 사용자에게 자연스러운 응답을 주고 규모 탄력적으로 리소스를 사용하며 실패에 있어서 유연하게 대처한다 모든 지점에서 블럭 되지 않게 하자 oop와 같은 패러다임 모든 것을 비동기적인 data의 strea...