Docker를 사용하여 애플리케이션을 배포하는 방법

사용자 3797089

phantom.js에 의존하는 node.js 애플리케이션이 있습니다. node와 phantom.js는 설정하기가 쉽지 않기 때문에이를 수행하는 Docker 컨테이너를 만들었습니다. 이제 프로덕션 서버에서 실행되는이 도커 컨테이너에 애플리케이션 업데이트를 배포하는 방법은 무엇입니까?

저에게는 두 가지 가능성이 있습니다.

  1. SSH를 설정하고 내 git 저장소를 Docker 컨테이너에 직접 푸시합니다.
  2. 볼륨을 추가하고 컨테이너 외부의 저장소를 업데이트합니다.

나는 후자를 선호하지만 더 나은 방법이 있는지 잘 모르겠습니다.

미리 감사드립니다!

Thomasleveil

두 가지 방법 모두 기존 컨테이너에서 애플리케이션을 업데이트 할 수 있습니다.

그러나 컨테이너를 삭제하면 어떻게됩니까?

  • 두 번째 방법으로 앱을 보관하는 동일한 볼륨에 연결된 새로운 컨테이너를 다시 만들 수 있습니다.
  • 첫 번째 방법으로 ssh에 연결하고 앱 코드를 업로드해야합니다.

또한 Dockerfile은 첫 번째 경우 더 복잡하고 유지 관리하기 더 어렵습니다. 또한 보안 문제를 처리하고 전 세계가 ssh 서버에 연결할 수 없도록해야합니다.


요약하자면, KISS 로 만들고 볼륨 방식으로 가십시오. 파일을 푸시하는 것 이상을 위해 필요한 경우에만 ssh 서비스를 추가하는 것을 고려하십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Docker를 사용하여 애플리케이션을 올바르게 배포하고 확장하는 방법

폴더를 모듈로 사용하여 pythonanywhere에 Flask 애플리케이션을 배포하는 방법

installshield를 사용하여 웹 애플리케이션을 배포하는 방법은 무엇입니까?

Proxy-Config를 사용하여 Angular 2 애플리케이션을 HTTP 서버에 배포하는 방법

Gitlab CI를 사용하여 Heroku에 Showoff 애플리케이션을 배포하는 방법

Angular를 사용하여 .net 핵심 애플리케이션을 배포하는 방법

젠킨스를 사용하여 상태 저장 애플리케이션을 배포하는 방법

Jpackage를 사용하여 JavaFX 애플리케이션용 배포 형식을 만드는 방법

Docker 애플리케이션을 배포하는 가장 쉬운 방법

Gitlab CI SSH를 통해 애플리케이션을 배포하는 방법

Docker를 사용하여 단일 mongodb로 여러 애플리케이션을 실행하는 방법

SQLPLUS를 사용하여 APEX 애플리케이션을 가져 오는 방법

Docker를 사용하여 버전이 지정된 애플리케이션을 배포하는 적절한 방법은 무엇입니까?

Docker를 사용하여 Alpine Linux에 Laravel 웹 애플리케이션을 배포하는 방법은 무엇입니까?

Heroku를 사용하여 배포 된 애플리케이션에 새 pip 패키지를 추가하는 방법

동일한 value.yaml 파일을 사용하여 여러 애플리케이션을 배포하기위한 Helm 차트를 만드는 방법

프로덕션에서 composer를 실행하지 않고 PHP 애플리케이션을 배포하는 방법

클라이언트에서 SQL Server 데이터베이스를 사용하여 애플리케이션을 배포하는 방법

Go 웹 애플리케이션을 배포하는 방법

Dockerized PHP 애플리케이션을 배포하는 방법

reactJS 애플리케이션을 Heroku에 배포하는 방법

gitlab ci를 사용하여 내 PHP 애플리케이션을 테스트하고 배포하는 방법은 무엇입니까?

Webpack을 사용하여 AngularJS 애플리케이션 (1.x)에서 TypeScript를 사용하는 방법

Next.js를 사용하여 React 애플리케이션에서 Google 글꼴을 사용하는 방법

C # wpf 애플리케이션을 사용하여 이미지를 스트리밍하는 방법

Tomcat API를 사용하여 애플리케이션 내부에서 웹 애플리케이션을 다시 시작하는 방법이 있습니까?

Windows를 실행하는 원격 컴퓨터에 Python 애플리케이션을 배포하는 방법

Docker : LAMP 애플리케이션의 여러 인스턴스를 Dockerize 및 배포하는 방법

URL 체계를 사용하여 Xamarin iOS의 내 애플리케이션에서 다른 애플리케이션을 여는 방법

TOP 리스트

  1. 1

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  2. 2

    std :: regex의 일관성없는 동작

  3. 3

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  4. 4

    PrematureCloseException : 연결이 너무 일찍 닫혔습니다.

  5. 5

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  6. 6

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  7. 7

    Ionic 2 로더가 적시에 표시되지 않음

  8. 8

    Seaborn에서 축 제목 숨기기

  9. 9

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  10. 10

    복사 / 붙여 넣기 비활성화

  11. 11

    ArrayBufferLike의 typescript 정의의 깊은 의미

  12. 12

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  13. 13

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

  14. 14

    jfreecharts에서 x 및 y 축 선을 조정하는 방법

  15. 15

    PRNG 기간보다 순열이 더 많은 목록을 무작위로 섞는 방법은 무엇입니까?

  16. 16

    C # HttpWebRequest 기본 연결이 닫혔습니다. 전송시 예기치 않은 오류가 발생했습니다.

  17. 17

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  18. 18

    잘못된 구성 개체입니다. Webpack이 Angular의 API 스키마와 일치하지 않는 구성 개체를 사용하여 초기화되었습니다.

  19. 19

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  20. 20

    R의 마침표와 숫자 사이에 문자열 삽입

  21. 21

    Assets의 BitmapFactory.decodeStream이 Android 7에서 null을 반환합니다.

뜨겁다태그

보관