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 を実行するとテーブルがロックされますか?

推薦する

SQL 挿入文の書き方の説明

方法 1: INSERT INTO t1(field1,field2) VALUE(v001,v00...

継続的インテグレーションテストにおけるDocker Swarmの適用の詳細な説明

背景アジャイル モデルは広く使用されており、テストは特に重要です。新しいバージョンは頻繁にリリースす...

node.js で Web サーバーを作成する手順の詳細な説明

序文node.js でサーバーを作成するのは非常に簡単です。小さいながらも完全な Web サーバーを...

MySQLデータベースの基礎知識

目次1. データベースを理解する1.1 データベースとデータ構造の関係1.2 なぜデータベースが必要...

Vue の 4 つのカスタム命令の説明と使用例

4つの実用的なVueカスタム指示1. Vドラッグ要件: マウスドラッグ要素アイデア:要素のオフセット...

jQueryフレームワークは、要素の表示と非表示の3つのアニメーションメソッドを実装しています。

目次1. デフォルトで表示と非表示を切り替える2. スライドして表示と非表示を切り替える3. フェー...

Web ページでフラッシュの wmode 属性を使用する方法をご存知ですか?

Web 開発を行う際に、フラッシュがページ内の要素をブロックする状況に遭遇することがあります。フラ...

Nginx の高同時実行最適化の実践

1. チューニングの必要性​ 私は、どのように書けばいいのか本当に分からないので、共有するために最適...

MySQL 4 の一般的なマスタースレーブレプリケーションアーキテクチャ

目次1つのマスターと複数のスレーブのレプリケーションアーキテクチャマルチレベルレプリケーションアーキ...

おすすめの無料英語手書きフォント20選

Jellyka Beesアンティーク手書き [ank]* ジェリーカ・カティカップケーキ LHF ジ...

文字列の GBK および GB2312 エンコードとデコードのフロントエンド実装 (概要)

序文プロジェクトを開発しているときに、かなり厄介な問題に遭遇しました。この製品では、判断のためにブラ...

MySQLクエリインターセプトの詳細な分析

目次1. クエリの最適化1. MySQLチューニングの概要2. 小さなテーブルが大きなテーブルを動か...

モバイルでのHTML5経由のファイルアップロード

ほとんどの場合、PC でファイルをアップロードするにはプラグインが使用され、フラッシュが導入されても...

ウェブページのカスタム選択ボックス選択

選択ドロップダウン リスト フォームは誰もがよく知っているかもしれませんが、デフォルトのドロップダウ...

繰り返し送信、繰り返し更新、バックオフ防止に関する問題と解決策の分析

1つ。序文<br />この種の質問は、どの専門掲示板でも見かけます。Google で検索...