2017-12-06 19 views
0

저는이 컨테이너 작업을 처음 사용하기 때문에 Docker가 가상 컴퓨터를 어떻게 대체 할 수 있는지 궁금합니다.웹 응용 프로그램 Dockerizing

각각 가상 서버 역할을하는 가상 컴퓨터 2 대, 하나는 개발 서버이고 다른 하나는 테스트 서버 인 사례 연구를 받았으며 Docker가 워크 플로 관리에 어떻게 도움이되는지 연구하도록 요청 받았습니다. 효율적으로

이 경우 2 개의 가상 시스템은 서버이고 가상 시스템을 대체하는 Docker 아이디어는 혼란 스럽습니다.

누구나 나를 이해할 수 있습니다.

미리 감사드립니다.

답변

1

나는 서버가 완전히 고정 표시기 용기로 대체 될 수있는 방법을 확실하지 않다, 그래서 당신은 하나에 2 개 서버에서 실행되는이 응용 프로그램을 대체 할 같은데 서버는 각 테스트 및 dev 애플 리케이션의 2 컨테이너를 실행합니다.

내가 대답 할 수 있기 전에 몇 가지 가정을 할 것입니다.

  • 먼저 응용 프로그램이 서버의 tomcat/IBM websphere에 배포 된 간단한 웹 서비스라고 가정합니다.
  • 둘째, 데이터베이스가 테스트 서버와 개발자 서버 모두 다른 서버에 있다고 가정합니다.

도커 기본

  1. Dockerfile - 명령 고정 표시기 빌드를 사용하여, 당신은 이미지를 만들 수 있습니다
  2. 도커 이미지 - 당신이 - 이것은 dockerfile
  3. 도커 컨테이너에서 만든 이미지의 도커 실행으로 컨테이너가 생성됩니다. 당신이 그래서 여기 간다 기본 이미지 을 다운로드 할 수 있습니다 곳에서 장소, 유닉스 서버에

  4. 설정 고정 표시기 - 이미지의 실행중인 인스턴스가 컨테이너

  5. 도커 레지스트리입니다.

  6. 이제 동일한 앱을 호스팅 할 2 개의 컨테이너를 만들어야합니다. 이를 위해서는 우선 도커 파일을 작성하고 이미지를 만든 다음 이미지를 사용하여 컨테이너를 시작해야합니다.

샘플 dockerfile 지금

FROM webspher-liberty17:webProfile7 

ENV SERVER_NAME=myapptestserver 

RUN ["/bin/bash", "-c", "/opt/ibm/wlp/bin/server create $SERVER_NAME"] 

EXPOSE 9080 9443 


COPY server.xml jvm.options /opt/ibm/wlp/usr/servers/$SERVER_NAME/ 
COPY *.war /opt/ibm/wlp/usr/servers/$SERVER_NAME/dropins/ 

CMD ["/opt/ibm/docker/docker-server", "run", "myapptestserver"] 

아래에 뭔가 같을 것이다이 고정 표시기 파일의 고정 표시기 빌드를 수행 할 때, 그것은 IBM의 자유와 같은 기본 레이어로 이미지를 만들 것입니다. FROM 이후의 모든 명령을 사용하여 추가 레이어를 추가 할 수 있으므로 세부 사항에 맞게 사용자 정의 할 수 있습니다.

두 앱 모두 위의 작업을 완료하면 동일한 서버에서 실행되지만 두 가지 환경에 서비스를 제공하는 앱의 변형이 실제로 두 개 있습니다.

최고의 부분을 bamboo/jenkins의 CI/CD 파이프 라인에 추가하면 jiffy에서 위아래 환경을 가져올 수 있습니다.

+0

당신이 찾고있는 방향이라면 도움이되고 질문에 대답 해주십시오. –

+0

나를 위해 많은 것을 지워줍니다. 감사합니다. 테스트 환경 전용 가상 서버가 더 이상 필요하지 않습니다. –

+0

기본 서버가 디스크 공간 및 RAM에 따라 적절하게 램핑되면 주어진다. 기본 도커 이미지는 상당히 클 수 있으며 그 위에 레이어가 추가되어 있습니다. 또한 위의 대답은 두 대의 서버에서 하나의 단일 응용 프로그램 만 실행하는 것으로 가정합니다. 각 앱마다 고정 컨테이너를 사용하는 것이 좋습니다. –

0
  • 고정 표시기 각 컨테이너의 가상 머신 자체는 호스트 OS의 처리를 분리 갖는 각 컨테이너 수단 자체는 행위이다.

    2 컨테이너를 실행하면 두 우분투 서버 ( 예) 서버를 실행할 수 있습니다. 각 컨테이너에서 소프트웨어를 실행하고 서비스를 외부에 노출 할 수 있습니다.

    결국 도커가 죽으면 가상 머신과 달리 응용 프로그램을 설치하지 않고 이미지에서 다시 시작할 수 있습니다.

    응용 프로그램 가져 오기/내보내기와 같은 다른 서버로 도커 이미지를 전송할 수 있습니다. 다른 서버에만 적용하려면 서버가 도커 서비스가 실행 중입니다.

  • 우리가 링크 한 용기 및 기타 등의 MySQL의 내부 communication.Like 워드 프레스에 대한 그 용기는 모두 coneected해야 할 컨테이너로 실행이 의존하는 서비스가있는 경우는 이 경우 고정 표시기 링크가 도움이 될 것입니다 상호 연결하기.

    하이퍼 바이저의 가상 컴퓨터 인 처럼 도커 컨테이너에 대한 CPU, 메모리, 디스크를 관리 할 수 ​​있습니다. 자세한 정보를 원하시면

    : https://docs.docker.com/engine/docker-overview/#docker-engine