도커 이미지 생성

도커 이미지 생성

나만의 도커 이미지를 만들고 싶습니다. Dockerfile을 사용하여 생성했으며 httpd 서버와 mysql 클라이언트를 실행하고 싶었습니다. 아래에서 내 편집 파일을 볼 수 있습니다. 내 Dockerfile이 맞나요?

# Dockerfile that modifies oraclelinux:6.6 to include an Apache HTTP server
FROM ubuntu:14.04

RUN apt-get -y install apache2

RUN echo "HTTP server running on guest" > /var/www/html/index.html

EXPOSE 80

RUN apt-get -y install mysql-client

EXPOSE 3306

답변1

아니요, 마지막에 CMD를 실행해야 하므로 이는 올바르지 않습니다.

또한 더 적은 수의 중간 컨테이너 스냅샷과 더 작은 출력을 생성하기 위한 몇 가지 모범 사례도 포함해야 합니다.

  • apt-get여러 번 실행하면 안 됩니다.
  • apt-get update뛰기 전에 달려야 해apt-get install
  • 런닝 후에는 깨끗이 정리해야 합니다apt-get install
  • 관리자를 포함해야 합니다.

다음과 같이 시도해 보세요:

# Dockerfile that modifies oraclelinux:6.6 to include an Apache HTTP server
FROM ubuntu:14.04

MAINTAINER Supun Rathnayake

RUN apt-get update && apt-get install -y \
  apache2 \
  mysql-client \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

RUN echo "HTTP server running on guest" > /var/www/html/index.html

EXPOSE 80

EXPOSE 3306

CMD ["your command to run apache"]

아마도 docker-hub에 있는 apache2 프로젝트를 살펴보아야 할 것입니다. 이 프로젝트에는 많은 다운로드가 있고 Dockerfile이 분석되어 있어 매우 유익합니다.

원칙적으로 동일한 컨테이너에서 mysql 클라이언트를 실행할 수 있지만 이를 위해서는 apache 및 mysql 데몬을 시작하기 위한 일부 스케줄러가 필요할 수 있습니다. 또는 mysql을 다른 곳에 배치하는 것을 고려해야 합니다(또는 Dockerhub의 표준 컨테이너 중 하나를 사용하여 컨테이너에 연결).

관련 정보