コンテナの起動コマンドを取得する方法コンテナはすでに作成されていますが、その起動パラメータ(データがマウントされる場所)を知る方法 #コンテナが次のコマンドで起動されるとします docker run -d --name mysql_cdh \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=123456 \ -v mysql-データ:/var/lib/mysql \ --restart=常に\ mysql:5.5 --character-set-server=utf8 #コンテナ名 [root@jenkins ~] から起動パラメータを取得する方法# docker examine mysql_cdh [ { 「ID」: 「3aad772538b5e86705d3358362517a08d53f951aa6522e2881321135f05c8872」、 「作成日」: 「2019-09-25T01:43:37.720505875Z」、 「パス」: 「docker-entrypoint.sh」、 「引数」: [ "--文字セットサーバー=utf8" ]、 ... "名前": "/mysql_cdh", "ホスト構成": { 「バインド」: [ 「mysql-データ:/var/lib/mysql」 ]、 ... "ネットワークモード": "デフォルト", 「ポートバインディング」: { "3306/tcp": [ { "ホストIP": "", "ホストポート": "3306" } ] }, 「再起動ポリシー」: { 「名前」: 「常に」 「最大再試行回数」: 0 }, 「マウント」: [ { 「タイプ」:「ボリューム」、 "名前": "mysql-data", 「ソース」: 「/var/lib/docker/volumes/mysql-data/_data」、 「宛先」: 「/var/lib/mysql」、 "ドライバー": "ローカル", "モード": "z", 「RW」:真、 「伝播」: 「」 } ]、 「設定」: { "ホスト名": "3aad772538b5", ... 「公開ポート」: { "3306/tcp": {} }, ... 「環境」: [ "MYSQL_ROOT_PASSWORD=123456", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/mysql/bin:/usr/local/mysql/scripts", "GOSU_VERSION=1.7", "MYSQL_MAJOR=5.5", "MYSQL_VERSION=5.5.62" ]、 「コマンド」: [ "--文字セットサーバー=utf8" ]、 1. コンテナ層: ファイル保存パス#1、コンテナを起動します [root@master ~]# docker run -d --name nginx2 nginx a9c9f31cdccf13c3385f3de33443325d2e14d69458e6d679e54c8cf9e5ff24c8 #2、コンテナIDを取得する [root@master ~]# docker examine nginx2 | grep -i id [root@master ~]# docker examine nginx2 | grep -i id 「ID」: 「a9c9f31cdccf13c3385f3de33443325d2e14d69458e6d679e54c8cf9e5ff24c8」、 「ピッド」: 2069, 「ExecID」: null、 "コンテナIDファイル": "", #コンテナの一時ファイルを表示します - 作成されるたびにランダムに生成されるファイルです (コンテナ レイヤー) # /var/lib/docker/containers/コンテナID [root@master ~]# docker examine nginx2 | grep -i パス "パス": "nginx", "ResolveConfPath": "/var/lib/docker/containers/a9c9f31cdccf13c3385f3de33443325d2e14d69458e6d679e54c8cf9e5ff24c8/resolv.conf", "ホスト名パス": "/var/lib/docker/containers/a9c9f31cdccf13c3385f3de33443325d2e14d69458e6d679e54c8cf9e5ff24c8/ホスト名", "ホストパス": "/var/lib/docker/containers/a9c9f31cdccf13c3385f3de33443325d2e14d69458e6d679e54c8cf9e5ff24c8/hosts", "ログパス": "/var/lib/docker/containers/a9c9f31cdccf13c3385f3de33443325d2e14d69458e6d679e54c8cf9e5ff24c8/a9c9f31cdccf13c3385f3de33443325d2e14d69458e6d679e54c8cf9e5ff24c8-json.log", 明後日コンテナポートを変更する a. まず古いコンテナを新しいイメージとして送信し、新しいコンテナを起動します。次の点を確認する必要があります: データ ボリューム マッピングが完全に一貫していること (新しいコンテナーと古いコンテナーはデータ ボリューム上で一貫している必要があります) [root1@c7-docker ~]# docker examine mysql_port |egrep -i 'volum|マウント' -A 2 「ボリューム」: { "/var/lib/mysql": {} }, -- 「ボリューム」: { "/var/lib/mysql": {} }, コンテナをイメージとして保存し、新しいコンテナを起動してポートマッピングを追加します。 ############### 1. コンテナを起動する############## [root1@c7-docker ~]# docker run --name t1 -d -e MYSQL_ROOT_PASSWORD=123456 -v mysql-test-dir:/var/lib/mysql/ -p 3308:3306 mysql:5.5 53f2a3c53d4c6769897ee484c3d2ff4e3f82ea1e390d4950b2162c08af05d7cc [root1@c7-docker ~]# docker ps コンテナID イメージ コマンド 作成ステータス ポート名 53f2a3c53d4c mysql:5.5 "docker-entrypoint.s..." 3 秒前 3 秒前にアップ 0.0.0.0:3308->3306/tcp t1 [root1@c7-docker ~]# mysql -uroot -p123456 -P3308 --protocol tcp MariaDB モニターへようこそ。コマンドは ; または \g で終わります。 MySQL接続IDは1です サーバーバージョン: 5.5.62 MySQL コミュニティサーバー (GPL) MySQL [(なし)]> データベースを表示します。 +--------------------+ | データベース | +--------------------+ | 情報スキーマ | |mysql | | パフォーマンススキーマ | +--------------------+ セット内の 3 行 (0.00 秒) MySQL [(なし)]> データベーステストを作成します。 クエリは正常、1 行が影響を受けました (0.00 秒) MySQL [(なし)]> use test; データベースが変更されました MySQL [テスト]> テーブル t1(id int) を作成します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) MySQL [テスト]> t1 に値(1),(2),(3) を挿入します。 クエリは正常、3 行が影響を受けました (0.00 秒) 記録: 3 重複: 0 警告: 0 MySQL [テスト]> t1 から * を選択します。 +------+ |id| +------+ | 1 | | 2 | | 3 | +------+ セット内の 3 行 (0.00 秒) ############## 2. 現在のコンテナ環境を送信し、新しいイメージとして保存します。############## [root1@c7-docker ~]# docker commit -m mysql_test_chag-port_img t1 mysql_port sha256:9f90be3c200c6a8b535478375c4caf86d589d231afae1293d28026f9248f8ae3 [root1@c7-docker ~]# docker イメージ リポジトリ タグ イメージ ID 作成 サイズ mysql_port 最新 9f90be3c200c 3秒前 205MB mysql 5.5 d404d78aa797 18か月前 205MB ############## 3. 古いコンテナを停止し、新しいコンテナを起動します############### [root1@c7-docker ~]# docker stop t1 t1 [root1@c7-docker ~]# docker run --name t2 -d -v mysql-test-dir:/var/lib/mysql/ -p 3309:3306 mysql_port fd7cefe55db8bb2687ab044ff1473f0c935ac5ce867df81b3b13f570e9026868 [root1@c7-docker ~]# docker ps コンテナID イメージ コマンド 作成ステータス ポート名 fd7cefe55db8 mysql_port "docker-entrypoint.s..." 3 秒前 2 秒前にアップ 0.0.0.0:3309->3306/tcp t2 [root1@c7-docker ~]# mysql -uroot -p123456 -P3309 --protocol tcp MariaDB モニターへようこそ。コマンドは ; または \g で終わります。 MySQL接続IDは2です サーバーバージョン: 5.5.62 MySQL コミュニティサーバー (GPL) MySQL [(なし)]> データベースを表示します。 MySQL [(なし)]> use test; テーブル名と列名の補完のためのテーブル情報の読み取り -Aでこの機能をオフにすると起動が速くなります。 データベースが変更されました MySQL [テスト]> t1 から * を選択します。 +------+ |id| +------+ | 1 | | 2 | | 3 | +------+ セット内の 3 行 (0.00 秒) b. コンテナ構成ファイルを変更する: hostconfig.json最初にdockerサービスを停止する必要があります。そうしないと効果がありません。 コンテナレイヤーファイルから設定ファイルhostconfig.jsonを探し、コンテナによってマップされたポートを変更します。 [root@docker a9c9f31cd...ff24c8]# pwd /var/lib/docker/コンテナ/d93185e3a0....2e544ccfa [root@docker a9c9f31cd...ff24c8]# cat hostconfig.json {"Binds":["/dockersuperset:/home/superset"],"ContainerIDFile":"", "LogConfig":{"Type":"json-file","Config":{}},"NetworkMode":"default", "PortBindings":{"8088/tcp":[{"HostIp":"","HostPort":"8099"}]}...... 2. イメージレイヤー: ファイル保存パス[root@master ~]# docker イメージの検査 nginx | tail -n 22 "グラフドライバー": { "データ": { "下位ディレクトリ": "/var/lib/docker/overlay2/bf20cf788cc053f00ff1467525d50e19bd1cf07a2167f72511bdfcb28918a472/diff:/var/lib/docker/overlay2/317d80bb7ae58ed288be9ebd84aeb5b4b3a1c06f3211f5d1f32d89b629d1876e/diff", "マージされたディレクトリ": "/var/lib/docker/overlay2/7782d0eb292fdc8bbd73bf9bae2d65468e8aba0bcd6baed55ac348618b80ae16/マージ済み", 「上位ディレクトリ」: 「/var/lib/docker/overlay2/7782d0eb292fdc8bbd73bf9bae2d65468e8aba0bcd6baed55ac348618b80ae16/diff」、 "作業ディレクトリ": "/var/lib/docker/overlay2/7782d0eb292fdc8bbd73bf9bae2d65468e8aba0bcd6baed55ac348618b80ae16/work" }, 「名前」: 「オーバーレイ2」 }, a、コンテナレイヤー、イメージレイヤー: 関連付けI、サブコンテナ:画像ファイルをコピーする II、サブコンテナ: 新しいファイルの追加 III. サブコンテナ: イメージからコピーされたファイルの変更 b. イメージレイヤー(ファイル保存ディレクトリ)で、設定ファイルを変更します。# ミラーコンテナのファイル保存ディレクトリに入り、設定ファイルを変更します [root@master d37ff828e6308...0c0599b]# ls diff/run/ nginx.pid [root@master d37ff828e6308...0c0599b]# ls diff /var/cache/nginx/ クライアント temp fastcgi_temp プロキシ temp scgi_temp uwsgi_temp [root@master d37ff828e6308...0c0599b]# ls マージ済み/ bin/ dev/ etc/ lib/ media/ opt/ root/ sbin/ sys/ usr/ ブート/ .dockerenv ホーム/ lib64/ mnt/ proc/ 実行/ srv/ tmp/ var/ [root@master d37ff828e6308...0c0599b]# ls マージされた/etc/nginx/ conf.d fastcgi_params koi-utf koi-win mime.types モジュール nginx.conf scgi_params uwsgi_params win-utf [root@master d37ff828e6308...0c0599b]# ヘッドがマージされました/etc/nginx/nginx.conf ユーザー nginx; ワーカープロセス 1; #ここで設定ファイルを変更し、2行のセミコロンを削除します。user nginx; worker_process 1; コンテナ内の設定が変更されたかどうかを確認します。[root@master d37ff828e6308...0c0599b]# head merged/etc/nginx/nginx.conf -n 3 ユーザー nginx ワーカープロセス 1 #コンテナにログインして変更された構成を表示します。有効かどうかを確認します [root@master d37ff828e6308...0c0599b]# docker exec -it nginx2 bash root@a9c9f31cdccf:/# ヘッド /etc/nginx/nginx.conf -n 3 ユーザー nginx ワーカープロセス 1 3. デフォルトのストレージパスを変更するa、/var/lib/dockerディレクトリを再構築する#新しいストレージパスにデータをバックアップするサービス docker stop mkdir /docker.bak mv /var/lib/docker/* /docker.bak #ソフトリンクを作成する mkdir /home/docker-data mv /docker.bak/* /home/docker-data/ && rmdir /docker.bak : := docker-data は、docker コマンドで定義されます。 b. 設定を変更する: : vi /usr/lib/systemd/system/docker.service を実行します。 ExecStart=/usr/bin/dockerd --graph /新しいパス/docker #設定ファイルをリロード systemctl daemon-reload #Dockerを再起動 systemctl docker.service を再起動します。 上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。 以下もご興味があるかもしれません:
|
<<: MySQLの共通関数を使用してJSONを処理する方法
ほとんどの場合、MySQL はインストールしたばかりのときは中国語をサポートしません。これはエンコー...
MySQL 最大接続数の表示と最大接続数の変更1. 最大接続数を確認する '%max_con...
データベースは、どのオブジェクトにどのフィールドが含まれているかを照会します。 *を選択 sysob...
この記事は、参考のためにMySQL 8.0.17のインストールと設定のグラフィックチュートリアルを記...
目次背景サーバーの依存関係バックエンド構成クロスドメインバックエンド構成の静的リソースアクセスではk...
目次概要達成方法具体的な実装評価関数の終了を決定する生成関数の範囲変換関数マップフィルター割り込み機...
ウェブサーバー1. Webサーバーは、wev、cgi、asp機能を無効にするなど、不要なIISコンポ...
1. ランナーコンテナを作成する mk@mk-pc:~/Desktop$ docker run -d...
目次1. テレポートの使用2. モーダルダイアログコンポーネントを完成させる3. コンポーネントのレ...
序文上記の Web ページ スタイルを記述しているときに、スタイルの値をどのように変更しても、ページ...
背景Alibaba Cloud RDS for MySQL(MySQL バージョン 5.7)データベ...
ユーティリティ = { /** * 死亡年ですか? * @return {Boolse} true...
この記事では、MySQL 8.0.12のインストールされていないバージョンを設定して起動するための具...
インターフェイス ドメイン名を構成する際、各パブリック プラットフォームはドメイン名に対する開発者の...
Nginx は、ngx_http_limit_req_module モジュールの limit_req...