Docker 컨테이너 내에서 여러 서비스를 실행하는 방법을 알아보시겠습니까? 이 자습서에서는 우분투 리눅스를 실행 하는 컴퓨터에서 Docker 컨테이너 내에서 여러 서비스를 실행 하는 데 필요한 모든 단계를 보여 드리겠습니다.

• 우분투 18.04
• 우분투 19.10
• 도커 19.03.6

이 예제에서는 단일 Docker 컨테이너가 MySQL 서비스와 아파치 서비스를 실행합니다.

아파치 서비스는 TCP 포트 80에서 수신됩니다.

MySQL 서비스는 TCP 포트 3306에서 수신됩니다.

자습서 도커 – 여러 서비스를 실행하는 컨테이너

Docker 서비스를 설치합니다.

Copy to Clipboard

온라인 저장소에서 우분투 도커 이미지를 다운로드합니다.

Copy to Clipboard

시스템에 설치된 Docker 이미지를 나열합니다.

Copy to Clipboard

명령 출력은 다음과 같습니다.

Copy to Clipboard

이 Docker 이미지를 사용 하 여 새 우분투 컨테이너를 시작 합니다.

Copy to Clipboard

이제 컨테이너 명령줄에 있습니다.

Copy to Clipboard

이 예제에서는 우분투 이미지가 새 컨테이너를 시작하는 데 사용되었습니다.

이 예제에서 컨테이너 ID는 62f9adcafb62입니다.

이 예제에서는 컨테이너의 이름이 MYCONTAINER입니다.

필요한 패키지 목록을 설치합니다.

Copy to Clipboard

아파치 서비스를 설치합니다.

Copy to Clipboard

시스템에서 시간대선택을 요청합니다.

Copy to Clipboard

이 예제에서는 미국, 상파울루에 시간대를 구성했습니다.

Copy to Clipboard

MySQL 서비스를 설치합니다.

Copy to Clipboard

mysqld.cnf라는 이름의 MySQL 구성 파일을 편집합니다.

Copy to Clipboard

구성 파일 내부에서 다음 줄을 찾습니다.

Copy to Clipboard

이 줄 값을 0.0.0.0으로 변경합니다.

Copy to Clipboard

컨테이너 내부에서 수동으로 MySQL 서비스를 시작합니다.

Copy to Clipboard

MySQL 명령줄에 액세스합니다.

Copy to Clipboard

MySQL 루트 사용자에 대한 암호를 설정합니다.

Copy to Clipboard

이 예제에서는 루트 사용자 암호가 kamisama123으로 설정되었습니다.

supervisord.conf라는 구성 파일을 만듭니다.

Copy to Clipboard

다음은 파일 내용입니다.

Copy to Clipboard

컨테이너의 루트 디렉터리에서 run.sh 라는 스크립트를 만듭니다.

Copy to Clipboard

다음은 파일 내용입니다.

Copy to Clipboard

올바른 파일 사용 권한을 구성합니다.

Copy to Clipboard

컨테이너 명령줄을 종료합니다.

Copy to Clipboard

이 컨테이너를 기반으로 Docker 이미지를 만듭니다.

Copy to Clipboard

이 예제에서는 MYCONTAINER라는 컨테이너를 기반으로 MYIMAGE라는 Docker 이미지를 만들었습니다.

만든 이미지를 사용하여 새 Docker 컨테이너를 시작합니다.

Copy to Clipboard

아파치 서비스에 대한 액세스를 테스트합니다.

Copy to Clipboard

명령 출력은 다음과 같습니다.

Copy to Clipboard

MySQL 서비스에 대한 액세스를 테스트합니다.

Copy to Clipboard

명령 출력은 다음과 같습니다.

Copy to Clipboard

축! 여러 서비스를 제공하는 Docker 이미지 생성을 완료했습니다.