2017-05-18 18 views
2

ドッカーが起動したときに自己署名証明書を生成する必要があります。 基本的に私たちのドッカーは、コンコースciを使用して開始されます。したがって、dockerファイル内になければならず、dockerを使用してオプションを使用することはできません。ドッカーで自己署名証明書を生成

は私が簡単なRUNコマンドと間違っている何本

答えて

2

のための任意の入力を教えてください?それは私のために動作し、自己署名証明書が正常に作成されます。

FROM debian:wheezy 

RUN apt-get update && \ 
    apt-get install -y openssl && \ 
    openssl genrsa -des3 -passout pass:x -out server.pass.key 2048 && \ 
    openssl rsa -passin pass:x -in server.pass.key -out server.key && \ 
    rm server.pass.key && \ 
    openssl req -new -key server.key -out server.csr \ 
     -subj "/C=UK/ST=Warwickshire/L=Leamington/O=OrgName/OU=IT Department/CN=example.com" && \ 
    openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 

これがDockerfileに必要な場合、証明書はビルド時に1回作成されます。イメージ内の証明書を使用するだけです。

コンテナが起動するたびに新しい証明書が必要な場合は、自己署名証明書を生成する外部シェルスクリプトを使用する必要があります。上記の手順を使用します

#!/bin/bash 

openssl genrsa -des3 -passout pass:x -out server.pass.key 2048 
openssl rsa -passin pass:x -in server.pass.key -out server.key 
rm server.pass.key 
openssl req -new -key server.key -out server.csr \ 
    -subj "/C=UK/ST=Warwickshire/L=Leamington/O=OrgName/OU=IT Department/CN=example.com" 
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 

をしてからDockerfileにそれを入れて、デフォルトの実行設定:この場合

FROM debian:wheezy 

RUN apt-get update && \ 
    apt-get install -y openssl 

ADD generate-certificate.sh /tmp/generate-certificate.sh 

CMD [ "/tmp/generate-certificate.sh" ] 

にあなたがdocker run ....でコンテナを起動するたびに、新しい一意の証明書を生成されます。

関連する問題