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 の新機能 - チェック制約の紹介

推薦する

MySQL の int、char、varchar のパフォーマンスを比較する

インターネットには、真実のように見える「噂」がたくさんあります。もちろん、悪意のあるものではありませ...

JS における ES6 継承と ES5 継承の違い

目次継承ES5 プロトタイプ継承ES6 クラス継承両者の違いES5プロトタイプ継承の内部実装ES6 ...

Apache ソースコードのインストールと仮想ホストの設定に関する詳細なチュートリアル

ソースからApacheをインストールする1. Apacheソースコードをアップロードして必要なソフト...

Navicat を使用してリモート Linux MySQL データベースに接続するときに発生する 10061 不明エラーの詳細な説明

Navicat を使用してリモート Linux MySQL データベースに接続すると、不明なエラー ...

MySQL での coalesce() の使用に関するヒントのまとめ

序文最近、偶然 MySQL の coalesce を発見しました。ちょうど時間があったので、MySQ...

Ubuntu 18.04で国内ソースを変更する方法の例

Ubuntu はソースが中国からなのでダウンロード速度が比較的遅いです。CentOS と異なり、yu...

ソケット '/tmp/mysql.sock' 経由でローカル MySQL に接続できない解決策

エラーメッセージ:エラー 2002: ソケット '/tmp/mysql.sock' ...

MySQL 文字列分割操作 (区切り文字を含む文字列のインターセプション)

区切り文字なしの文字列抽出質問の要件データベース内のフィールド値:実装効果: 1行のデータを複数行に...

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

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

ウェブページ入力ボックスのスタイルトリガー効果

<br />この例では、主に onblur と onFocus という 2 つのパラメー...

Dockerイメージのサイズを縮小する6つの方法

2017 年に Vulhub に取り組み始めてから、私は厄介な問題に悩まされてきました。Docker...

MySQL 実験: explain を使用してインデックスの傾向を分析する

概要インデックス作成は、MySQL で習得しなければならないスキルであり、MySQL クエリの効率を...

ドラッグアンドドロップでVueユーザーインターフェースを生成する方法

目次序文1. 技術原理1.1 レイアウト1.2 コンポーネント1.3 ステータス1.4 イベント1....

HTMLフレームワーク_Powernode Javaアカデミー

1. フレームワークブラウザのドキュメント ウィンドウには 1 つの Web ページ ファイルしか表...

vue プロジェクトのデプロイと Nginx でのプロキシ設定の問題の分析

1. nginxをインストールして起動する # nginxをインストールする sudo apt-ge...