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

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

Jun 08, 2020 pm 05:06 PM
docker

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

中国のDocker画像ソースを変更する方法 中国のDocker画像ソースを変更する方法 Apr 15, 2025 am 11:30 AM

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

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

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

Dockerバージョンを読む方法 Dockerバージョンを読む方法 Apr 15, 2025 am 11:51 AM

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

Dockerでミラーを作成する方法 Dockerでミラーを作成する方法 Apr 15, 2025 am 11:27 AM

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

Dockerの画像を更新する方法 Dockerの画像を更新する方法 Apr 15, 2025 pm 12:03 PM

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

Dockerからログを表示する方法 Dockerからログを表示する方法 Apr 15, 2025 pm 12:24 PM

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によるプライベートリポジトリを構築する方法 Apr 15, 2025 am 11:06 AM

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

docker lnmpの呼び方 docker lnmpの呼び方 Apr 15, 2025 am 11:15 AM

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

See all articles