ドッカーを使用してウェブサイトを構築するためのジキルフレームワーク

ドッカーを使用してウェブサイトを構築するためのジキルフレームワーク

使用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

おすすめ

転載: www.cnblogs.com/zhichun/p/11878217.html