Dockerのオンラインおよびオフラインインストールと一般的なコマンド操作

Dockerのオンラインおよびオフラインインストールと一般的なコマンド操作

1. テスト環境

名前バージョン
セント7.6
ドッカー18.09.06

2. オンラインインストール

ここでは、yum sourceコマンドを使用して、yum-utils、device-mapper-persistent-data、lvm2などの事前に準備された依存パッケージをインストールします。

sudo yum install -y yum-utils デバイスマッパー永続データ lvm2

公式イメージリポジトリのネットワーク速度が遅いため、ここで Alibaba Cloud イメージプロキシを設定して、イメージをすばやくダウンロードおよびアップロードします。

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

次に、Docker-CE Community Edition をインストールし、次のコマンドを使用して Docker Community Edition のインストール パッケージ リストを表示します。 Dockerのバージョン情報は下の図に示されています。

yum list docker-ce --showduplicates | sort -r

対応するバージョンを選択してdockerをインストールします

sudo yum で docker-ce.x86_64 をインストールします。

起動する

sudo systemctl でdockerを有効にする

sudo systemctl dockerを起動します

検証: バージョン情報コマンドを表示します。次の図が表示されたら、インストールが成功したことを示します。

docker バージョン

3. オフラインインストール

Docker オフライン インストール パッケージをダウンロードするには、次の 3 つの方法があります。

Docker公式アドレス: docker down

1. Baidu Cloudダウンロードアドレス: https://pan.baidu.com/s/1tZpsOvY0wmCfwHXlNJuq8Q 抽出コード: rhaq

2. ネットワークサーバーからダウンロードするには、コマンドを実行します: wget https://download.docker.com/linux/static/stable/x86_64/docker-18.09.6.tgz

3. 公式リファレンスドキュメント: https://docs.docker.com/install/linux/docker-ce/binaries/#install-static-binaries

ダウンロードしたdockerオフラインパッケージをサーバーにコピーし、圧縮されたパッケージを解凍します。

tar -xvf docker-18.09.6.tgz

解凍したdockerファイルの内容を/usr/bin/ディレクトリに移動します。

cp docker/* /usr/bin/

Dockerサービスの登録と編集

vim /etc/systemd/system/docker.service

以下の内容を書いて保存してください

[ユニット]
説明=Docker アプリケーション コンテナ エンジン
ドキュメント=https://docs.docker.com
後=network-online.targetfirewalld.service
欲しいもの=ネットワークオンライン.ターゲット
 
[サービス]
タイプ=通知
# デフォルトでは、cgroupsにsystemdは使用されません。委任の問題が依然として残っているためです。
# が存在し、systemdは現在必要なcgroup機能セットをサポートしていません
# dockerで実行されるコンテナの場合
実行開始=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# 制限値がゼロでない場合、会計オーバーヘッドによりパフォーマンスの問題が発生します
# カーネル内。コンテナローカルアカウンティングを行うには、cgroups を使用することをお勧めします。
LimitNOFILE=無限大
LimitNPROC=無限大
LimitCORE=無限大
# systemd バージョンがサポートしている場合は、TasksMax のコメントを解除します。
# このバージョンをサポートするのは systemd 226 以上のみです。
#タスク最大=無限
タイムアウト開始秒数=0
# systemd が docker コンテナの cgroups をリセットしないように delegate yes を設定します
委任=はい
# cgroup 内のすべてのプロセスではなく、docker プロセスのみを強制終了します
キルモード=プロセス
# docker プロセスが途中で終了した場合は再起動します
再起動=失敗時
開始リミットバースト=3
開始制限間隔=60秒
 
[インストール]
WantedBy=マルチユーザー.ターゲット

権限を追加してから開始

chmod +x /etc/systemd/system/docker.service

設定ファイルを再読み込みする

systemctlデーモンリロード

Dockerを起動する

systemctl ドッカーを起動する

自動起動を設定する

systemctl で docker.service を有効にする

インストールが成功したことを確認する

systemctl ステータス docker

ドッカー -v

**

4. 共通コマンド(インターネットアクセスを必要としないローカルイメージの検索とダウンロード)

**

ミラーを検索、

#docker イメージ名を検索

docker 検索 java

画像をダウンロード

#docker pull イメージ名

docker プル java

ダウンロードした画像を表示する

Docker イメージ

画像の削除

単一のイメージを削除する: docker rmi イメージ名

すべてのイメージを削除します: docker rmi -f $(docker images)

コンテナ作戦

docker run コマンドを使用してコンテナを作成し、起動します。たとえば、java イメージを使用して起動します: docker run java /bin/echo 'Hello World'

その他のオプションの起動パラメータ:

-d オプション: バックグラウンド操作を示します

-P オプション: ランダムポートマッピング

-p オプション: ポート マッピングを指定します。4 つのモードがあります。

① ip:ホストポート:コンテナポート

② ip::コンテナポート

③ ホストポート:コンテナポート

④ コンテナポート

テスト用 Nginx コンテナの例

docker run --name nginxTest -d -p 91:80 nginx

注意: Docker がコンテナを起動すると、コンテナがローカルで利用できない場合は、Docker Hup から参照が自動的にダウンロードされます。

-d # バックグラウンド実行

-p #ホストポート: コンテナポート #コンテナポートをホストポートに開く

–name #カスタムコンテナ名

ブラウザを使用して http://server ip:91 にアクセスします。Nginx のホームページが表示されれば、起動は成功です。

コンテナのステータスを表示する

実行中のコンテナの詳細を表示する docker ps

すべてのコンテナの詳細を表示する docker ps -a

– コンテナID #コンテナID

– 画像 #画像

– 作成済み #作成時間

– ステータス #ステータス Up は実行中、Exited は実行が停止していることを意味します

–ポート #ポート

– 名前 #コンテナ名

コンテナログを表示する

フォーマット: docker logs -f -t --tail line number コンテナ名または docker logs -f -t --tail line number コンテナ ID

docker ログ -f -t --tail 200 483a128fdb39

コンテナを停止する

docker stop コンテナ ID または docker stop コンテナ名

コンテナの強制停止

docker コンテナ ID を強制終了する

停止したコンテナを起動する

docker 開始コンテナ ID

コンテナの再起動

docker コンテナ ID を再起動

コンテナに入る

(1) docker attachコマンドを使用してコンテナを接続すると、複数のウィンドウによって同期表示やブロックの問題が発生する可能性があります。

docker コンテナ ID をアタッチ

(2)nsenterを使ってコンテナに入る

docker examine --format "{{.State.Pid}}" コンテナ ID #pid をクエリ

nsenter --target クエリ pid --mount --uts --ipt --net --pid

(3)バージョン1.3.x以降で利用可能なdocker execコマンドを使用することをお勧めします。

docker exec -it コンテナID /bin/bash

コンテナの詳細を表示

docker コンテナ ID を検査する

コンテナの削除

docker rm コンテナID

#このコマンドは実行中のコンテナを削除できません。削除するには、-fパラメータを追加してください

画像をオフラインパッケージとしてパッケージ化する

docker save -o ファイル名.tar イメージ名

オフライン画像パッケージを読み込む

docker load < ファイル名.tar

Dockerfile を使用して Docker イメージを構築する

上記で作成したNginxを例にdockerfilerファイルを作成します

Dockerfileに触れる

Dockerfilerファイルを編集する

vim Dockerファイル

以下の内容を入力してください

nginxから
#dockerコンテナに入った後にディレクトリを追加する(オプション)
ワークディレクトリ /opt/hello

RUN echo '<h1>Hello World! </h1>' > /usr/share/nginx/html/index.html

Dockerfileがあるパスで次のコマンドを実行します。

nginx をビルドします。

Dockerコンテナを起動する

docker run -d -p 92:80 nginx:my

もちろん、設定ファイルのパスを指定することもできます

docker run -d -p 92:80 -v /u01/hello/config:/opt/hello/config nginx:my

注: -d はバックグラウンドで実行され、-p はポートを外部に公開します: 内部ポート -v Linux ファイル パス: コンテナー内のパス --name コンテナーのニックネーム イメージの開始: バージョン番号

その後は、Linux の /u01/hello/config の設定を変更し、コンテナを再起動してロードするだけです。

ブラウザで http://ip:92 にアクセスすると、「Hello World!」というメッセージが表示されます。

上記の Docker のオンラインおよびオフラインインストールと一般的なコマンド操作に関する記事は、エディターが皆さんと共有するすべての内容です。参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。

以下もご興味があるかもしれません:
  • Dockerサービスコマンドの詳しい説明(まとめ)
  • docker.service の起動に失敗しました: ユニットが見つからない原因と解決策
  • Dockerにおけるオーバーレイネットワークの詳細な説明
  • docker を使用して Kong クラスター操作を構築する
  • Dockerの国内イメージソースを変更する方法
  • docker.service 起動エラーの詳細なトラブルシューティング

<<:  iOS、Android、ミニプログラムアプリの敷居の低い開発のためのフロントエンドフレームワークを詳しく解説

>>:  Mysql トランザクションで Update を実行するとテーブルがロックされますか?

推薦する

HTMLノードの追加と削除の簡単な例

HTML ノードの追加と削除の簡単な例 HTML ノードの追加と削除の簡単な例<input t...

使用場所によって混乱しやすいXHTMLタグ

<br />jb51.net では、常に記事のセマンティクスを重視してきましたが、HTM...

WeChatアプレットは左にスワイプしてリスト項目を削除する効果を実現

この記事では、WeChatミニプログラムの具体的なコードを共有し、左にスワイプしてリスト項目を削除す...

DockerにRabbitMQを素早くインストールする方法

1. 画像を取得する #Webコントロールページを含むバージョンを指定します docker pull...

Docker を使用して OpenLDAP+phpLDAPadmin 統合ユーザー認証を構築する方法

1. 背景LDAP を使用して、操作および保守に関連するユーザー名とパスワードを集中管理します。 1...

HTML でさまざまなスペースの特徴と表現を探る (推奨)

I. 概要HTML テンプレートを作成するときに、テキスト レイアウトの手段としてスペースが使用さ...

MySQL の binlog ログと、binlog ログを使用してデータを回復する方法を説明します。

ご存知のとおり、binlog ログは MySQL データベースにとって非常に重要です。万が一、データ...

Tomcatが親の委任メカニズムを破壊する方法についての簡単な説明

目次JVM クラスローダーTomcat クラスローダークラスを検索ロードクラスクラスをロードしようと...

Vue3 トランジションアニメーションの落とし穴記録について

目次背景問題の場所さらなる分析要約する背景私のコース「Vue 3 エンタープライズレベルの音楽アプリ...

MySQLインデックスベースのストレステストの実装

1. データベースデータをシミュレートする1-1 データベースとテーブルスクリプトを作成する - v...

MySQL データベースのバックアップ プロセスに関する注意事項

今日は、データ バックアップに関連するいくつかの点について調べ、MySQL データ バックアップに関...

MySQL ストレステストツールの使い方

1. MySQL 独自のストレステストツール - Mysqlslap mysqlslap は、mys...

HTML メタビューポート属性の詳細な説明

ビューポートとはモバイル ブラウザは、Web ページを仮想の「ウィンドウ」(ビューポート) に配置し...

MySQL 8.0.21 のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0.21のインストールと設定方法を記録してみんなで共有します。 1. ダウンロード1...

DPlayer.js ビデオ再生プラグインの使い方

DPlayer.jsビデオプレーヤープラグインは使いやすい主な用途: ビデオの再生、監視の開始、終了...