ホームページ  >  記事  >  運用・保守  >  Docker がイメージをカスタマイズする方法

Docker がイメージをカスタマイズする方法

WJ
WJオリジナル
2020-06-08 17:06:143449ブラウズ

Docker がイメージをカスタマイズする方法

#Docker はどのようにイメージをカスタマイズしますか?

1. docker テクノロジーを利用するには、まず docker パッケージをインストールする必要があります

今回は docker-engine-1.12.1-1.el7 を使用しました。 .centos.x86_64.rpm; docker テクノロジは、ローカル マシンの基盤となるシステムに基づいており、そのシステム上でアプリケーションがパッケージ化されて配信されます。これにより、コンテナーをプロセスと同じくらい早く開始できます。

Docker テクノロジーに基づいて、必要な最小限のシステム環境をミラーとしてカプセル化し、プロセスのように起動できます。

2. カスタム docker イメージの作成まず、docker 公式 Web サイトから docker イメージをダウンロードします

docker search docker
docker pull docker

公式にあるイメージ最小限のインストールなので、最初に yum ソースを設定し、よく使われるソフトウェアを centos イメージにインストールし、httpd と sshd を起動する必要があります。具体的な操作は次のとおりです:

yum -y install docker-engine-1.12.1-1.el7.centos.x86_64.rpm
mkdir testcd testtouch Dockerfile
vim Dockerfile
FROM centos:latest
RUN rm -f /etc/yum.repos.d/*
ADD centos7.repo /etc/yum.repos.d/centos7.repo
RUN yum -y install httpd openssh-server net-tools bash-completion.noarch \ iproute vim-enhanced
EXPOSE 80 22
RUN  echo "123456" |passwd --stdin root
RUN  /usr/sbin/sshd-keygen
ENV EnvironmentFile=/etc/sysconfig/sshd
WORKDIR /var/www/html
RUN echo "<h1><font color=red>this is centos1:httpd">index.html
ENV EnvironmentFile=/etc/sysconfig/httpd
ADD qd.sh /root/qd.sh    
CMD ["/root/qd.sh"]
:wq

注:
EXPOSE は、開いているコンテナのポートを指定します。
ADD は、現在のディレクトリ内のファイルをコンテナ内の指定されたディレクトリに転送します。これは現在のパスである必要があります
RUNコンテナ内でどのコマンドを実行するかを指します。
FROM はソース イメージ、つまり、このイメージがどのイメージに基づいているかを指定します。
WORKDIR は指定されたコンテナ内の作業ディレクトリであり、centos システムの cd コマンドに相当します
ENV は環境変数を定義します
CMD はコンテナの起動後に実行される最初のコマンドを指定します[] を引用符で区切って使用する必要があります。オプションがある場合は、カンマで区切ります。例: ["/usr/sbin/sshd", "-D"]
作成されるファイルは Dockerfile という名前にする必要があります
これらのコマンドを手動で書きたい場合は、比較してください。複雑です。基本イメージを入力してさまざまなコマンドを実行し、履歴を使用してコマンドを表示し、cp コマンドを使用して、上記の対応する形式に置き換えることができます。

3. 起動スクリプトを作成する Docker イメージの CMD は、コンテナーの起動後に実行される最初のデフォルト コマンドであるため、 CMD A コマンドのみを記述します。この場合、sshd と httpd という 2 つのプログラムを起動したいため、スクリプトを記述して CMD にスクリプトを直接実行させる必要があります。

vim qd.sh#!/bin/bash/usr/sbin/sshd -D &
/usr/sbin/httpd -DFOREGROUND
:wq

chmod x qd.sh //実行権限を追加


4. ミラーを作成します現在のディレクトリで実行する必要があります

docker build -t wang:sh2 .

5. イメージを開始し、コンテナーのポートをマップします。

docker run -d -p 80:80 -p 2022:22 wang:sh2

コンテナーのポート 80 を物理マシンのポート 80 にマップし、物理マシンのポート 22 をマップします。コンテナを物理マシンに接続します。ポート 2022。


6. アクセスの検証

firefox http://192.168.1.194(物理机)
ssh -p 2022 192.168.1.194

7. 拡張機能最初に sshd サービスのミラーを作成してから、Make することもできます。 sshd イメージに基づく httpd コンテナー:

im Dockerfile
FROM wang:sshd
RUN yum -y  httpd
EXPOSE 80 22ENV EnvironmentFile=/etc/sysconfig/httpd
WORKDIR /var/www/html
RUN echo "<h1><font color=red>this is httpd and sshd">index.html
ADD qd.sh /root/qd.sh    
CMD ["/root/qd.sh"] 
:wq

関連資料:

docker チュートリアル

以上がDocker がイメージをカスタマイズする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。