Docker 및 컨테이너에 익숙하지 않은 경우, Apache Docker 컨테이너 설정은 시작하기에 좋은 방법입니다. Docker를 사용하여 응용 프로그램을 만드는 것은 가벼운 기술과 보안 때문에 큰 이점이 있습니다.
이 튜토리얼에서는 Ubuntu에 Apache Docker 컨테이너를 설정하는 방법을 배울 수 있습니다. Docker로 시작하고 Apache 웹 서버도 얻게되는 방법을 배우기 위해이 튜토리얼을 사용하십시오!
전제 조건
단계별로 따라가려면이 튜토리얼에서 Docker가 설치된 Ubuntu 14.04.4 LTS 이상의 머신이 있는지 확인하십시오.이 튜토리얼은 Ubuntu 18.04.5 LTS를 사용하며 Docker v19.03.8 및 공용 IP 주소 13.213.48.113을 사용합니다.
Apache Docker 컨테이너 설정
Docker를 이미 설치한 것으로 가정하고 Apache 컨테이너를 먼저 설정해 봅시다. 나중에 시작하는 방법을 배우게 될 것입니다.
Apache Docker 컨테이너를 빠르게 시작하는 가장 쉬운 방법 중 하나는 공식 Docker 레지스트리인 Docker Hub에서 기존 컨테이너 이미지를 다운로드하는 것입니다. 이 예제에서는 Apache라는 Docker 컨테이너를 다운로드하고 실행합니다.
몇 가지 Docker 명령어만으로 Apache 인스턴스를 실행할 수 있습니다. 아래 단계를 따라 주세요.
참고: 이 튜토리얼은 Docker 명령어 실행에 대해 자세히 다루지 않습니다. Docker 명령어에 대해 더 알아보려면 Docker 명령 줄 문서 페이지를 방문하세요.
1. Ubuntu 기기에서 터미널을 엽니다.
2. 아래의 docker pull
명령어를 실행하여 Apache를 포함한 Docker 이미지인 httpd
를 다운로드합니다. 이 명령어는 Docker 레지스트리에서 Apache 이미지를 다운로드 또는 풀합니다. 아래와 같이 표시됩니다.
아래 스크린샷은 Docker Hub에서 이미지를 가져올 때 예상되는 결과를 보여줍니다.

3. 다음으로, 아래의 docker images
명령어를 실행하여 컴퓨터에 있는 모든 이미지를 나열하여 이미지를 다운로드했는지 확인합니다.
아래에서 볼 수 있듯이, Docker Hub에서 다운로드한 이미지를 포함한 Docker 이미지가 하나 있습니다.

Docker 명령어를 사용하여 Apache 컨테이너 실행.
이전 섹션에서 Docker 허브에서 Docker 이미지를 다운로드했습니다. 이제 해당 이미지로 컨테이너를 생성할 준비가 되었습니다. Apache 컨테이너를 실행하려면 다음과 같이 Docker 명령을 실행해야 합니다:
1. 다운로드한 Apache Docker 이미지를 기반으로 새 컨테이너를 생성하기 위해 docker run
명령을 호출합니다.
그런 다음 docker run
명령은 방금 생성한 컨테이너의 고유한 컨테이너 ID를 반환합니다. 이 컨테이너 ID를 나중에 컨테이너를 삭제하려는 경우에 대비하여 아래 강조 표시된 상자에 저장하세요.

2. Apache 컨테이너가 실행되면 웹 브라우저를 사용하여 공용 IP 주소:80로 이동하여 Apache 웹 인터페이스에 액세스할 수 있는지 확인합니다. 아래에서 볼 수 있는 메시지와 같은 메시지가 표시된다면 Apache Docker 컨테이너를 성공적으로 시작한 것입니다.
Ubuntu 14.04.4 LTS 머신의 보안 그룹에서 포트 80의 인바운드 포트가 허용되었는지 확인하세요.

3. 마지막으로, 더 이상 실행할 필요가 없는 경우 아래의 docker stop
명령을 실행하여 컨테이너를 정지시킵니다. 이 명령은 컨테이너 인스턴스를 정상적으로 종료시킵니다.
또는,
docker stop
명령에 컨테이너 이름을 지정하여 실행 중인 컨테이너를 정지할 수도 있습니다 (docker stop docker-apache
).
Docker 파일에서 Apache Docker 컨테이너 실행
이전 섹션에서는 기본 httpd Docker 이미지를 실행하여 Apache Docker 컨테이너를 시작하는 방법을 배웠습니다. 만약 베이스 이미지를 업데이트하여 다른 콘텐츠를 표시하거나 다른 포트에서 노출해야 한다면 어떻게 해야 할까요?
Docker 파일을 사용하여 컨테이너를 배포하면 동일한 설정을 다른 운영 체제에서 테스트할 때 수동으로 이미지를 생성하는 단계를 제거할 수 있습니다. Docker 파일 접근 방식은 Docker 이미지의 자동화된 스크립트입니다.
이제 Docker 파일을 생성하고 해당 파일에서 컨테이너를 실행해 보겠습니다.
1. ~/apache-server-docker-demo라는 이름의 폴더를 생성하고, 작업 디렉토리를 해당 폴더로 변경합니다.
2. 다른 파일을 생성하고 아래 구성을 복사하여 파일을 index.html로 저장하십시오. 이 파일은 ~/apache-server-docker-demo 디렉토리 안에 저장됩니다. index.html 파일은 컨테이너가 시작되면 이 강좌에서 나중에 확인하게 될 Apache 컨테이너를 Docker에서 실행하는 방법을 가르치는 튜토리얼입니다.를 표시하는 HTML 페이지입니다.
3. 다른 파일을 생성하고 아래 구성을 복사하여 파일을 Docker 파일로 저장하십시오. 이 파일은 ~/apache-server-docker-demo 디렉토리 안에 저장됩니다. 완료되면 Docker는이 DockerFile을 사용하여 새 Docker 이미지를 빌드하기 위해 필요한 모든 명령을 실행합니다.
아래 DockerFile에는 Apache 컨테이너를 빌드하는 데 사용되는 다양한 단계/명령이 포함되어 있습니다:
Maintainer
– Maintainer 명령은 이 파일을 관리하는 작성자에 대한 정보를 제공합니다.FROM
– FROM 명령은 새로운 빌드 단계를 초기화하고 후속 명령에 대한 기본 이미지를 설정합니다. 아래 코드 스니펫에서centos:7
이 기본 이미지입니다.COPY
– COPY 명령은 호스트 머신(Docker 호스트)에서 컨테이너로 파일을 복사합니다. 이전에 Docker 호스트에서 생성한 ****index.html 파일이 컨테이너의 /var/www/html 디렉토리로 복사됩니다.EXPOSE
– EXPOSE명령은 Docker에게 컨테이너가 런타임에서 지정된 네트워크 포트에서 수신 대기한다는 것을 알려줍니다. Apache 웹 서버는 기본적으로포트 80
에서 수신 대기합니다.
4. 다음으로, 아래의 필수 파일을 모두 확인하기 위해 tree
명령을 실행하세요.

5. 그 다음, docker build
명령을 사용하여 이미지를 빌드하세요. t
플래그는 이미지에 apache-server:v1
태그를 지정하는데 사용되며.
은 현재 작업 디렉토리를 나타냅니다.

docker build
command Docker가 빌드되면 다양한 속성이 반환됩니다. 그 중 하나는 REPOSITORY입니다. REPOSITORY 이름은 apache-server
이며 이미지는 아래와 같이 버전 v1
로 태그되어 있습니다.

6. 마지막으로, docker run
명령을 사용하여 새로 빌드된 이미지를 사용하여 Apache 컨테이너를 실행하세요.
p
플래그는 컨테이너의 포트를 호스트에 공개합니다(80:80). -it
플래그는 Docker가 컨테이너의 stdin에 연결된 가상 터미널을 할당하도록 지시합니다. 의사 터미널이란 용어입니다.
7. 최종적으로, 웹 브라우저를 사용하여 공인 IP 주소:80로 이동하여 Apache 웹 인터페이스에 액세스할 수 있는지 확인하세요. 웹 인터페이스에는 이 메시지가 표시됩니다. 이는 index.html 파일을 생성하고 Docker가 컨테이너가 시작될 때 이를 컨테이너로 복사했기 때문입니다.

결론
이 튜토리얼은 Docker 이미지를 사용하여 Apache Docker 컨테이너를 설정하는 과정을 도와드리기 위해 제작되었습니다. Docker 파일을 사용하여 Apache 컨테이너를 시작하는 방법을 배웠으며, 이를 통해 원하는 대로 컨테이너를 편집하고 빌드할 수 있습니다.
그렇다면 Apache 서버 Docker 이미지에서 무엇을 구축할 예정인가요?