2017-11-21 5 views
2

배경 : payara-server 마스터 비밀번호를 변경해야합니다. 문서에 따르면 마스터 비밀번호는 SSL 인증서가 제대로 작동하려면 키 저장소 & 트러스트 스토어의 비밀번호와 일치해야합니다. 내 웹 사이트를 http 대신 https로 실행하려면Payara/Glassfish 서버의 마스터 비밀번호 변경

내가 payaradomain의 마스터 암호를 변경하려고했으나 나는 비 주기적 오류 :

은 내가 Docker Container through the guide에 Payara - 서버 실행을 얻었다. 1. payara-domain이 실행되고 있지 않은지 확인하십시오.

- ./asadmin stop-domain --force=true payaradomain 

이 명령을 실행하면 대신 domain1이 종료됩니다. & 다음 고정 표시기 용기 쫓겨 :

./asadmin stop-domain --kill=true payaradomain 

I이 명령을 실행하는 경우 :

./asadmin list-domains 

응답 :

./asadmin stop-domain --force=true payaradomain 

응답 :

domain1 running 
payaradomain not running 
Command list-domains executed successfully. 

가 다음 명령을 시도

:

CLI306: Warning - The server located at /opt/payara41/glassfish/domains/payaradomain is not running. 

는 나는 행복 해요,하지만 내가하려고하면

나는 아래의 사진을 첨부
Domain payaradomain at /opt/payara41/glassfish/domains/payaradomain is running. Stop it first. 

가 :

./asadmin change-master-password payaradomain 

나는이 응답을 얻을 수 있도록하시기 바랍니다 ...

payaradomain is running. Stop it first.

답변

2

마스터 비밀번호를 포함하여 도커에서 Payara 서버를 구성하려면 기본 Payara 도커 이미지를 확장하여 고유 도커 이미지를 만들어야합니다. 이것은 간단한 Dockerfile입니다 :

FROM payara/server-full 

# set default domain to payaradomain 
ENV PAYARA_DOMAIN payaradomain 

# specify a new master password "newpassword" instead of the default password "changeit" 
RUN echo 'AS_ADMIN_MASTERPASSWORD=changeit\nAS_ADMIN_NEWMASTERPASSWORD=newpassword' >> /opt/masterpwdfile 

# execute asadmin command to apply the new master password 
RUN ${PAYARA_PATH}/bin/asadmin change-master-password --passwordfile=/opt/masterpwdfile payaradomain 

그런 다음 당신이 사용자 정의 고정 표시기 이미지를 구축 할 수 있습니다 :

docker build -t my-payara/server-full . 

그리고 payara/server-full 대신 my-payara/server-full를 실행합니다.

또한 기본 Payara 고정 표시기 이미지와 함께, 당신과 같은, 대신 domain1을의 payaradomain 실행하려면 PAYARA_DOMAIN 변수를 지정해야합니다 참고 :

그 payaradomain에 의해 사용되도록 위 Dockerfile 샘플이 변수를 재정의

docker run --env PAYARA_DOMAIN=payaradomain payara/server-full 
컨테이너를 실행할 때 지정하지 않아도됩니다.

다른 방법은 당신이 다른 방법 Payara 서버를 실행하지 않고 고정 표시기의 이미지를 실행 CN 마스터 암호

을 변경합니다. 대신 bash 쉘을 먼저 실행하고 콘솔에서 필요한 명령을 수행하고 쉘에서 서버를 실행할 수 있습니다.

그렇게하려면, 당신은 함께 고정 표시기의 이미지를 실행합니다 :

docker run -t -i --entrypoint /bin/bash payara/server-full 

이 방법의 단점은 전경과 경우 고정 표시기 컨테이너 실행하면 그 다음 payara 서버가 수동으로 다시 시작해야 다시 시작이다 , 테스트 목적으로 만 사용됩니다.

+0

안녕하세요 @OndrejM, 귀하의 회신은 매우 유익합니다. 정말 감사합니다. 나는 많이 배웠다. 모든 과정에서 사용자 정의 빌드 도커 이미지에 솔루션을 적용하는 대신 컨테이너에 구성을 구현하려고했습니다. 당신보다. – S34N

+0

다음 예제의 마지막 줄 바로 아래 DockerFile에 다음을 추가 할 수도 있습니다. '추가 ca.crt :/etc/ssl/certs' 다음 줄 : 'RUN update-ca -certificates' 다음 예제와 같이 : https://stackoverflow.com/questions/26028971/docker-container-ssl-certificates# ... sock 인증서를 도커 이미지/빌드에 저장하는 것이 좋습니다? – S34N

+0

또 하나. docker-java-home에 대한 ssl certs의 기본 경로가'/ etc/ssl/certs'에 있음을 알았습니다. 그러나 glassfish는'/ opt/payara41/glassfish/domains/payaradomain/config /'에 ssl 인증서가 있어야합니다. 그런 혼란스러운 실현을 어떻게 처리 할 수 ​​있습니까? – S34N

2

payaradomain이 실행 중임을 알리는 이유는 사용자가 domain1을 시작했기 때문입니다. payaradomaindomain1은 동일한 포트를 사용하며 도메인이 실행 중인지 확인하여 주어진 도메인의 관리 포트가 사용 중인지 확인합니다.

마스터 비밀번호를 변경하려면 두 도메인을 모두 중지 시키거나 관리자 포트를 payaradomain으로 변경해야합니다.