사용자 가이드
1:1 문의
  • Home
  • 결제
    • 결제 관리 방법
    • 트래픽 계산 방법
  • 서버
    • 가상서버
      • 가상서버 통합 매뉴얼
      • 가상서버 생성 방법
      • 가상서버 접속 방법
        • SSH 키페어 접속 방법
        • VSCode 접속 방법
      • 가상서버 사용 방법
        • 리소스 확인 및 증설 방법
        • 자동 스크립트 적용 방법
        • 하드웨어 사양 변경 방법
        • 사용량 알림 설정 방법
        • WordPress 사용 방법
      • 가상서버 구성 방법
        • FTP 구성 방법
        • SFTP 구성 방법
        • NTP 구성 방법
        • Docker 구성 방법
        • NFS 구성 방법
        • APM 구성 방법
        • Apache 웹서버 성능 튜닝 방법
      • 가상서버 문제 해결 방법
        • 접속 오류 해결 방법
        • OS 영역 복구 방법
      • 가상서버 지원 종료
        • CentOS 7 EOL
        • Ubuntu 18.04 LTS EOL
    • 가상서버 스냅샷
      • 가상서버 스냅샷 사용 방법
    • 오토스케일
      • 오토스케일 사용 방법
    • 스냅샷 스케줄러
      • 스냅샷 스케줄러 사용 방법
  • 스토리지
    • 블록 스토리지
      • 블록 스토리지 연결 방법
      • 블록 스토리지 확장 방법
      • 블록 스토리지 해제 방법
    • 블록 스토리지 스냅샷
      • 블록 스토리지 스냅샷 사용 방법
    • 오브젝트 스토리지
      • 오브젝트 스토리지 사용 방법
      • 오브젝트 스토리지 데이터 암호화 적용 방법
      • 오브젝트 스토리지 S3cmd 사용 방법
      • 오브젝트 스토리지 API 사용 방법
        • S3 Compatible API 사용 방법
      • 오브젝트 스토리지 SDK 사용 방법
        • AWS Javascript SDK 사용 방법
        • AWS Java SDK 사용 방법
        • AWS Python SDK 사용 방법
      • 오브젝트 스토리지 CORS 설정 방법
      • 오브젝트 스토리지S3Browser 사용 방법
      • 오브젝트 스토리지를 이용한 데이터 백업 방법
  • 네트워킹
    • 로드밸런서
      • 로드밸런서 사용 방법
    • DNS
      • DNS 사용 방법
    • 공인IP
  • 보안 서비스
    • 방화벽
      • 방화벽 설정 방법
    • SSH 키페어
      • 분실 시 해결 방법 - CentOS / Rocky / Almalinux
      • 분실 시 해결 방법 - Ubuntu
      • SSH 사용자 계정 추가 방법
    • 인증서 관리
      • 인증서 사용 방법
  • 매니지먼트 서비스
    • 기술지원
      • 기술지원 신청 방법
      • 기술지원 Key File 등록 방법
Powered by GitBook
On this page
  • 1. Docker란?
  • 2. Docker 설치하기
  • 3. Docker MTU 설정하기
  • (1) Host Network 사용 설정하기
  • (2) Docker MTU 설정 변경하기
  1. 서버
  2. 가상서버
  3. 가상서버 구성 방법

Docker 구성 방법

가상서버에서 Docker를 정상적으로 사용하기 위해서는 아래와 같은 설정이 필요합니다.

PreviousNTP 구성 방법NextNFS 구성 방법

Last updated 2 years ago

1. Docker란?

Docker는 가상화된 공간에서 애플리케이션을 개발, 제공, 실행할 수 있는 플랫폼입니다.

Docker Container를 사용하여 하나의 VM(host machine)위의 격리된 환경에서 애플리케이션을 관리할 수 있습니다.

Docker를 사용하면 경량화된 이미지로 컨테이너를 빠르게 배포할 수 있으며, 가상화된 공간을 사용할 때의 성능 또한 손실이 거의 없습니다.

Docker의 장점 및 특징은 다음과 같습니다.

  • 애플리케이션의 개발과 배포가 편해집니다.

  • 애플리케이션의 독립성과 확장성이 높아집니다.

2. Docker 설치하기

운영체제에 따른 Docker Engine 설치 방법은 다음과 같습니다.

3. Docker MTU 설정하기

가상서버에 Docker를 설치하면 가상서버와 Docker의 MTU 수치가 달라 통신이 불가능합니다.

가상서버에서 MTU 설정 정보는 다음과 같이 확인할 수 있습니다.

가상서버에 설정된 MTU는 1450(eth0)이고, Docker 서비스가 사용하는 MTU는 1500(docker0)입니다.

$ ip a | grep 'eth0|docker0'
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.1.42/24 brd 192.168.1.255 scope global dynamic eth0
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    inet 172.17.0.1/16 scope global docker0

따라서 Docker에서 가상서버로 넘어오는 Packet에 Packet loss가 발생하여 통신 오류가 생기게 됩니다.

아래의 2가지 방법으로 해당 문제를 해결할 수 있으며, 리눅스 사용이 익숙하지 않은 사용자의 경우 좀 더 간단하게 해결할 수 있는 (1)번 방법을 권장합니다.

(1) Host Network 사용 설정하기

docker run을 할 때 --network 옵션을 사용하여 해당 컨테이너가 Host Network를 사용하도록 설정합니다.

컨테이너가 Host Network를 사용하면 별도의 네트워크 인터페이스가 생성되지 않아 MTU 변경 없이 사용 가능합니다.

$ sudo docker run --rm -d --network host --name my_nginx nginx

(2) Docker MTU 설정 변경하기

a. Docker MTU를 1450으로 변경하기

$ cat << EOF | sudo tee /etc/docker/daemon.json
{
  "mtu": 1450
}
EOF

b. Docker 데몬 재시작하기

$ sudo systemctl restart docker

c. 변경된 MTU 확인하기

$ sudo docker network inspect bridge | grep mtu
            "com.docker.network.driver.mtu": "1450"

d. Docker Container의 정상 동작 확인하기

테스트 용으로 nginx 컨테이너 하나를 생성합니다.

$ sudo docker run --rm -d --name my_nginx nginx

생성한 my_nginx 컨테이너의 shell에 접속하고, curl로 외부 web의 정보를 정상적으로 가져오는지 확인합니다.

$ sudo docker exec -it my_nginx bash

root@2a17da973db2:/# curl --head https://hosting.cafe24.com/
HTTP/2 200
server: NWS
content-type: text/html; charset=UTF-8
cache-control: no-cache, no-store, must-revalidate
pragma: no-cache
p3p: CP="CAO DSP CURa ADMa TAIa PSAa OUR LAW STP PHY ONL UNI PUR FIN COM NAV INT DEM STA PRE"
x-frame-options: DENY
x-xss-protection: 1; mode=block
strict-transport-security: max-age=63072000; includeSubdomains
referrer-policy: unsafe-url
date: Mon, 15 Mar 2021 04:27:13 GMT
content-length: 0

CentOS, Rocky, Almalinux :

Ubuntu :

Install Docker Engine on CentOS
Install Docker Engine on Ubuntu