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
4. ミラーを作成します現在のディレクトリで実行する必要があります
docker build -t wang:sh2 .
5. イメージを開始し、コンテナーのポートをマップします。
docker run -d -p 80:80 -p 2022:22 wang:sh2
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 がイメージをカスタマイズする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









国内のミラーソースに切り替えることができます。手順は次のとおりです。1。構成ファイル/etc/docker/daemon.jsonを編集し、ミラーソースアドレスを追加します。 2。保存して終了した後、Docker Service Sudo SystemCtlを再起動してDockerを再起動して、画像のダウンロード速度と安定性を改善します。

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Dockerバージョンを取得するには、次の手順を実行できます。Dockerコマンド「Docker -version」を実行して、クライアントバージョンとサーバーバージョンを表示します。 MacまたはWindowsの場合は、DockerデスクトップGUIのバージョンタブまたはDockerデスクトップメニューのバージョン情報を表示することもできます。

Docker画像を作成する手順:ビルド命令を含むDockerFileを書きます。 Docker Buildコマンドを使用して、ターミナルで画像を作成します。画像にタグを付け、Dockerタグコマンドを使用して名前とタグを割り当てます。

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

Dockerログを表示する方法は次のとおりです。たとえば、Docker Logsコマンドを使用します。たとえば、Docker logs container_name docker execコマンドを使用して /bin /shを実行し、logファイルを表示します。 cat /var/log/container_name.log docker-compose -f docker-comのDocker ComposeのDocker-Composeログを使用します。

Dockerプライベートリポジトリを構築して、コンテナ画像を安全に保存および管理し、厳格な制御とセキュリティを提供できます。手順には、リポジトリの作成、アクセスの付与、リポジトリの展開、画像のプッシュ、および画像の引くなどがあります。利点には、セキュリティ、バージョン制御、ネットワークトラフィックの削減、カスタマイズが含まれます。

Docker LNMPコンテナコールステップ:コンテナの実行:Docker Run -D - Name LNMP -Container -P 80:80 -P 443:443 LNMPスタックコンテナIPを取得する:Docker Inspect LNMP -Container | GREP iPaddress Access Webサイト:http://&lt; container ip&gt;/index.phpsshアクセス:docker exec -it lnmp -container bash access mysql:mysql -u roo
