ドッカーを使用してウェブサイトを構築するためのジキルフレームワーク
使用dockerfileビルドのapache +ジキル
ディレクトリ
ジキルベース画像
mkdir jekyll
cd jekyll
vi Dockerfile
どのDockerfileファイルコンテンツの内容を変更します。
FROM ubuntu
MAINTAINER hongyang liu [email protected]
ENV REFRESHED_AT 2019-11-17
RUN apt-get -yqq update
RUN apt-get -yqq install ruby ruby-dev make nodejs
RUN gem install --no-rdoc --no-ri jekyll
VOLUME /data
VOLUME /var/www/html
WORKDIR /data
ENTRYPOINT ["jekyll","build","--destination=/var/www/html"]
次のように成功した結果を作成した後、次のとおりです。
/data
、ウェブサイトのソースコードを格納するために使用
/var/www/html/
その後、コンパイルされたコードジキルウェブサイトを格納するために使用されます
ミラーリングのUbuntu 18.04、およびRubyのジキルとパッケージのサポートをインストールします。
そして、使用VOLUMEコマンドは、2つのボリュームが作成されます
ソースファイルは、あなたが時間を起動するたびにWebコンテンツにコンパイル/データの下になり、最後の文コマンドの意味で掲示し、次のApacheの使用中の/ var / www / htmlに配置
ジキルベースイメージの構築
docker build -t taiyangyixi2/jekyll .
Apacheのミラー
ApacheのDockerfileを作成します
mkdir apache
cd apache
vi Dockerfile
Dockerfileコンテンツ
FROM ubuntu:14.04
MAINTAINER hongyang liu [email protected]
ENV REFRESHED_AT 2019-11-17
RUN apt-get -yqq update
RUN apt-get -yqq install apache2
VOLUME ["/var/www/html"]
WORKDIR /var/www/html
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
ENV APACHE_PID_FILE /var/run/apache2.pid
ENV APACHE_RUN_DIR /var/run/apache2
ENV APACHE_LOCK_DIR /var/lock/apache2
RUN mkdir -p $APACHE_RUN_DIR $APACHE_LOCK_DIR $APACHE_LOG_DIR
EXPOSE 80
ENTRYPOINT ["/usr/sbin/apache2"]
CMD ["-D","FOREGROUND"]
Dockerfileは、ミラーを構築し、
その後、ボリュームの作成にVOLUMEコマンドを使用し
ている/ var / www / htmlと設定/、ジキルのためのコンパイラ、およびウェブサイトへの/var/www/html
作業ディレクトリを設定します
使用ENVは、必要な環境変数を設定し、必要なディレクトリを作成
し、開いているポート80を公開設定します。
最後にCMDコマンドを指定ENTRYPOINTとの組み合わせデフォルトでは、コンテナは、Apacheの実行を開始するとき。
ジキルApacheのミラーの構築
docker build -t taiyangyixi2/apache .
スタートジキルウェブサイト
さて、以下の二つのミラー付き
- ジキル:ジキルミラーは、Rubyおよびその他の必須パッケージをインストール
- アパッチ:ミラーを補うために、ウェブサイトジキルワークを経由してのApache Webサーバ
ブログのソースコードをダウンロードしてください
cd ~
git clone https://github.com/jamtur01/james_blog.git
このカタログでは、最も基本的なTwitterのブートストラップのジキル対応のブログのいずれかを見ることができます。あなたもこのブログを使用する場合は、変更することができ_config.yml
、あなたの要件を満たすために、ファイルやテーマを。
docker run -v /home/james_blog:/data/ --name james_blog taiyangyixi2/jekyll
業績
スタートは名前のjames_blog
新しいコンテナ、
james_blogとしてローカルディレクトリを/data/
容器シンク周りに巻か。
サイトのコンテナは、ソースコードを持っている、それがコンパイル部位を有するように構築された、/ var / www / htmlと設定ディレクトリに格納されています
コンテナはApacheを作成します。
docker run -d -P --volumes-from james_blog taiyangyixi/apache
{}--volumes-from
新しく作成されたコンテナ内のすべてのボリュームの指定されたコンテナで
あなたは、ストレージボリュームのhtmlコンパイルのApacheの/ var / www /のジキルのウェブサイト内のコンテナにアクセスする前に作成したJames_blogコンテナ。でもjames_blogコンテナが実行されていない、Apacheのコンテナも、このボリュームにアクセスすることができます。しかし、コンテナがあれば、存在している必要がありドッカRMは james_blogコンテナコマンドを削除し、その後、コンテンツのボリュームとボリュームが存在しません。
ビューApacheのコンテナ港
docker port 30d486b77899 80
ドッカーは、ホスト上のサイトを参照してください。
ジキルのウェブサイトの更新
cd ~
vi james_blog/_config.yml
ジェームズダイナミックドッカー主導のブログに変更タイトルドメイン
更新ブログサイト
docker start james_blog
ビューコンテナのログ
docker logs james_blog