Docker で既存のイメージに基づいて新しいイメージを構築する方法

Docker で既存のイメージに基づいて新しいイメージを構築する方法

既存のイメージから新しいイメージを構築することは、Dockerfile ドキュメントを通じて行われます。

1. 新しいDockerfileドキュメントを作成する

/home フォルダー内にテスト専用の新しいフォルダー (/docker/test フォルダー) を作成し、そのフォルダー内に新しい Dockerfile ドキュメントを作成します。ドキュメントに次の内容を記述します。

ubuntu:18.04より

apt-get updateを実行する
apt-get install -y vimを実行します。

エクスポーズ80

Dockerfile ドキュメントでは、各行の最初のキーワードは大文字にする必要があります。

最初の行は、新しく作成されたイメージのソースイメージが Ubuntu 18.04 バージョンであることを意味します。

2 行目は、新しいイメージが作成された後に実行される最初のコマンドです。つまり、新しいイメージが作成された後に、さまざまなアプリケーションをダウンロードするための URL が最初に更新されます。

3 行目は vim をインストールします。これは、後でコマンド ラインでスクリプトを編集するのに便利です。-y は自動インストールです。そうでない場合は、インストール プロセスで Y/n の入力を求められます。入力しないと、実行は失敗します。

最後の4行目はポート80を公開することを意味します。昨日の記事のWebアプリのポートマッピングと同様に、この画像でポート5000にマッピングを実行すると、このポートは外部に公開されていないため失敗します。

2. Dockerfileがあるディレクトリでコマンドを実行します。

suルート
cd docker/テスト
cdl-test-0.0 を実行します。

最後の文では、-t の後に指定したイメージ名が続き、イメージ名の後にドットが続いていますが、これは現在のディレクトリの Dockerfile の内容を使用して新しいイメージを作成することを意味します。そのため、前の cd コマンドとこの文の末尾のドットは必須であることに注意してください。 !

3. 新しい画像を表示する

Docker イメージ

結果:

リポジトリ タグ イメージ ID 作成 サイズ
cdl-test-0.0 最新 da5d6c1147a7 4分前 185MB
runoob/centos 6.7 542cf01e7692 27 分前 191MB
ubuntu 16.04 52b10959e8aa 5日前 115MB
ubuntu 18.04 16508e5c265d 5日前 84.1MB
centos 6.7 f2e2f7b8308b 3週間前 191MB
トレーニング/ウェブアプリ 最新 6fae60ef3446 3年前 349MB

4. イメージにインストールされているアプリケーションを表示する

#新しく作成したイメージのコマンドラインを入力します。docker run -it cdl-test-0.0 /bin/bash
#vimを開く
ヴィム
#python3.7をインストール
apt-get で python3.7 をインストールします

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker 実践: 新しいイメージからコンテナを起動するときのエラー解決

<<:  Mysql マスタースレーブ サービスの実装例を構成する

>>:  WeChat アプレットのカスタム タブバー コンポーネント

推薦する

Windows および Linux での Redis のインストールとデーモン設定

# Windows および Linux 上の Redis のインストール デーモン構成Redis の...

ページ内の検索エンジンの呼び出しはBaiduを例に挙げています

今日、突然、自分のウェブページで Google や Baidu のような強力な検索エンジンを呼び出す...

Centos7 での Rsync+crontab 定期同期バックアップ

最近、社内の重要なサーバデータを定期的にストレージにバックアップし、ついでにメモしておきたい以前、W...

JS で Websocket ベースのマルチターミナル ブリッジング プラットフォームを実装する方法

目次1. デバッグ対象2. WebSocketの機能3. ソケット接続を確立する3.1 部屋の作成方...

CSSのoutline-offsetプロパティを使用してプラス記号を実装する

次のような初期コードがあると仮定します。 <!DOCTYPE html> <htm...

Ubuntu Server 16.04 MySQL 8.0 のインストールと設定のグラフィックチュートリアル

Ubuntu Server 16.04 MySQL 8.0 のインストールと設定のグラフィックチュー...

MySQL データベースは SQL ステートメントを知っている必要があります (拡張バージョン)

拡張版です。質問とSQL文は以下の通りです。ユーザー テーブルを作成し、id、name、gender...

一般的な XHTML タグの紹介

<br />しばらくの間、多くの人が XHTML の使い方を知らないことに気付きました。...

MySQL無料インストール版のパスワードの設定と変更に関するチュートリアル

ステップ 1: 環境変数を構成する (解凍パス: G:\mysql\mysql-5.7.21-win...

MYSQL ローカルインストールと問題解決

序文この記事はかなり詳細で、少し面倒です。他のチュートリアル ドキュメントでは多くの手順が省略されて...

docker を使用して kafka プロジェクトをデプロイする Centos6 方法の分析

この記事では、Docker を使用して Centos6 に Kafka プロジェクトをデプロイする方...

mysql5.7.21 の異常起動を修正する方法

同僚から、停電のため MySQL インスタンスを起動できないという報告がありました。 innodb_...

CSS テキスト装飾 text-decoration と text-emphasis の詳細な説明

CSS では、テキストは私たちが毎日扱う最も一般的なものの 1 つです。テキストの場合、テキストの装...

SQL 実装 LeetCode (185. 部門内で最も給与の高い上位 3 名)

[LeetCode] 185. 部門別給与上位3位従業員テーブルにはすべての従業員が保持されます。...