본문 바로가기
서버/도커

[도커] 컨테이너 어플리케이션 구축 웹 서버 바인딩

by Yikanghee 2022. 2. 21.
  • 서비스를 컨테이너화 할 때 여러 개의 어플리케이션을 한 컨테이너에 설치할 수 있지만, 컨테이너에 어플리케이션을 하나만 동작시키면 컨테이너 간의 독립성을 보장함과 동시에 어플리케이션의 버전 관리, 소스코드 모듈화 등이 더욱 쉬워짐
  • 데이터베이스와 웹 서버 컨테이너를 구분하는 편이 도커 이미지를 관리하고 컴포넌트의 독립성을 유지하기가 쉽다
  • 한 컨테이너에 프로세스 하나만 실행하는 것이 도커 공식 홈페이지에서도 권장하는 구조임

mysql 이미지를 사용해 데이터베이스 컨테이너를 생성

가독성을 위해서 \을 사용하여 명령어를 입력해줌

위에 준비된 워드프레스 이미지를 이용해 워드프레스 웹 서버 컨테이너를 생성

워드프레스 웹 서버 컨테이너의 -p 옵션에서 80을 입력했으므로 호스트의 포트 중 하나와 컨테이너의 80번 포트가 연결됨

  • 호스트와 바인딩된 포트만 확인하려면 다음 명령어를 입력
    • docker port wordpress

다음과 같이 [호스트 IP]:바인딩된 포트번호 를 검색하면 다음과 같은 화면이 나타남

컨테이너 성공적으로 생성!

  • 위 컨테이너 생성 설명
    • -d
      • 위에서 컨테이너를 선언해줄때 이전에 했던 -i -t 가 아닌 -d로 선언해준것을 알 수 있다
      • -i, -t는 표준 입출력이 활성화 가능하고, 상호작용이 가능한 셸 환경이 사용할 수 있는 환경이다
      • -d를 사용해준 이유는 mysql과 데이터베이스는 이미 터미널을 차지하는 포그라운드 프로그램이 있기 때문이다
      • 그렇기 때문에 컨테이너는 종료되지않고 유지할 수 있다
      • 반대로 -i -t 로 mysql컨테이너를 만들어줄 경우 오류가 나온다
      • MySQL 이미지는 컨테이너가 시작될 때 mysqld가 동작하기 때문이다
    • -e
      • -e 옵션은 컨테이너 내부의 환경변수를 설정함
      • 컨테이너화된 어플리케이션은 환경변수에서 값을 가져와 쓰는 경우가 많으므로 자주 사용하는 옵션 중 하나이다
    • exec
      • exec 명령어를 사용하면 컨테이너 내부에서 명령어를 실행한 뒤 그 결과값을 반환받을 수 있음
    • —link
      • —link 옵션은 내부 IP를 알 필요 없이 항상 컨테이너에 별명으로 접근하도록 설정
      • 원래 설정한 wordpressdb 컨테이너를 mysql이라는 이름으로 설정
    •  

'서버 > 도커' 카테고리의 다른 글

[도커] 도커 네트워크  (0) 2022.02.25
[도커] 도커 볼륨  (0) 2022.02.24
[도커] 컨테이너 삭제  (0) 2022.02.19
[도커]리눅스 putty 연결  (0) 2022.02.19
[도커] 리눅스 환경에서 컨테이너 활성화하기  (0) 2022.02.17

댓글