docker run -v はデータボリュームを異常にマウントし、コンテナのステータスは常に再起動になります。

docker run -v はデータボリュームを異常にマウントし、コンテナのステータスは常に再起動になります。

問題点:

docker run に -v パラメータを追加すると、コンテナは常に再起動状態になります。-v パラメータを削除すると、正常に実行されるようになります。

問題を見つける:

docker ログ 'containerId' を使用する

このコンテナIDはdocker run後に返されるコンテナIDです。

ご覧のとおり、これはアクセス拒否の問題です。

問題の解決方法:

docker を実行するときにパラメータを追加します: --privileged=true を追加します

例えば:

docker run -dit -e MYSQL_ROOT_PASSWORD=123456 --name saasdev-mysql --restart always -v /home/data/mysql:/var/lib/mysql --privileged=true -p 3308:3306 mysql:5.6

問題は無事解決され、コンテナは正常に起動しました

少し説明します:

--特権=true

このパラメータを使用すると、コンテナ内のルートに実際のルート権限が与えられます。

それ以外の場合、コンテナ内のルートには外部の通常のユーザーの権限のみがあります。

特権で起動されたコンテナは、ホスト上の多くのデバイスを認識し、マウントすることができます。

Dockerコンテナ内でDockerコンテナを起動することもできます

補足: docker --restart=always パラメータ docker はコンテナを自動的に再起動します

コンテナの作成時にパラメータ --restart=always を追加すると、Docker の再起動時にコンテナが自動的に起動します。

方向:

docker container update --restart=always コンテナ名

操作例は以下の通りです。

[root@localhost mnt]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
46cdfc60b7a6 nginx "nginx -g 'daemon ..." 約 1 分前 42 秒前に起動 80/tcp n3
79d55a734c26 nginx "nginx -g 'daemon ..." 約 1 分前 42 秒前に起動 80/tcp n2
f7b2206c019d nginx "nginx -g 'daemon ..." 約 1 分前 46 秒前に起動 80/tcp n1
[root@localhost mnt]# docker コンテナの更新 --restart=always n1
1 1 1
[root@localhost mnt]# systemctl dockerを再起動します 
[root@localhost mnt]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
46cdfc60b7a6 nginx "nginx -g 'daemon ..." 2 分前 終了 (0) 5 秒前 n3
79d55a734c26 nginx "nginx -g 'daemon ..." 2 分前 終了 (0) 5 秒前 n2
f7b2206c019d nginx "nginx -g 'daemon ..." 2 分前 2 秒前に起動 80/tcp n1
 

上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。

以下もご興味があるかもしれません:
  • Dockerはローカルディレクトリとデータボリュームコンテナ操作をマウントします
  • Dockerコンテナデータボリュームのマウントの簡単な概要
  • Docker におけるコンテナデータボリュームとデータ管理の詳細な説明
  • Docker データボリュームとデータコンテナの詳細な紹介と例
  • Dockerデータボリューム、データボリュームコンテナの詳細な紹介
  • Dockerコンテナデータボリュームの紹介と操作例

<<:  CSS3のボックスサイズプロパティの興味深いボックスモデルについての簡単な説明

>>:  MySQL 8.0 の新機能 - チェック制約の紹介

推薦する

Linux に Python 3.8.1 をインストールするための詳細なチュートリアル

この例では、Linux への Python 3.8 のインストールを例に挙げます。 1. 依存パッケ...

MySQL で GTID モードをオンラインで有効または無効にする

目次基本的な概要GTIDをオンラインで有効にする1. GTID検証ENFORCE_GTID_CONS...

CSS3で蓮の花が咲くアニメーション効果を実現

まずは効果を見てみましょう:この効果は非常に華やかに見えますが、原理は複雑ではありません。1 枚の花...

JSscriptタグの属性は何ですか

JS スクリプト タグの属性は何ですか? charset : オプション。 src 属性で指定された...

グループ化されたクエリでのGROUP BYの使用とSQL実行順序の説明

SQL では、GROUP BY は SELECT の結果のデータをグループ化するために使用されます。...

Vue3 ミックスインの使い方

目次1. mixin の使い方は? 2. ミックスイン使用時の注意2.1. ミックスイン オブジェク...

TypeScript での関数オーバーロード

目次1. 関数シグネチャ2. 関数のオーバーロード2.1 オーバーロードされたシグネチャは呼び出し可...

XHTMLにおけるH1タグの位置について

最近、H1 については多くの議論が行われていますが (記事のコンテンツ ページ内)、おおよそ 2 つ...

VueでTypescriptの設定手順を使用する

目次1. TypeScriptが古いVueプロジェクトに導入されるVue+Typescript プロ...

rpm を使用して指定されたバージョンの docker (1.12.6) をインストールする詳細な手順

1. 理由システムが Centos7.3 の場合、yum install docker を使用して直...

フォーム送信時に追加のパラメータを渡すためのいくつかの一般的な方法

フォームを送信するときに、送信前に追加のパラメータが追加される状況が発生する場合があります。この問題...

WeChatアプレットは水平および垂直スクロールを実現

この記事の例では、WeChatアプレットの水平スクロールと垂直スクロールを実現するための具体的なコー...

Gojs がアリのラインアニメーション効果を実装

目次1. Gojsの実装1. 描画2. 破線の実装3. 点線を動かす2. 点線と点線アニメーションの...

CSS トップに戻る コード例

最近のウェブサイトのほとんどはページが長く、4 画面または 5 画面の長さのものもあれば、2 画面ま...

Linux で MySQL 5.7.19 をアンインストールする方法

1. MySQLが以前にインストールされていたかどうかを確認するコマンド: rpm -qa|grep...