docker で systemctl を使用してサービスを開始する際のエラーの解決方法の詳細な説明

docker で systemctl を使用してサービスを開始する際のエラーの解決方法の詳細な説明

Docker バージョン:

[root@localhost gae_proxy]# docker バージョン
クライアント:
 バージョン: 1.10.3
 APIバージョン: 1.22
 パッケージバージョン: docker-common-1.10.3-46.el7.centos.10.x86_64
 Goバージョン: go1.6.3
 Git コミット: d381c64-unsupported
 作成日: 2016年8月4日 木 13:21:17
 OS/アーキテクチャ: linux/amd64

サーバ:
 バージョン: 1.10.3
 APIバージョン: 1.22
 パッケージバージョン: docker-common-1.10.3-46.el7.centos.10.x86_64
 Goバージョン: go1.6.3
 Git コミット: d381c64-unsupported
 作成日: 2016年8月4日 木 13:21:17
 OS/アーキテクチャ: linux/amd64

画像バージョン

[root@b2ca5610d3da /]# cat /etc/redhat-release
CentOS Linux リリース 7.2.1511 (コア) 

docker で systemctl を介してサービスを開始すると、常に「D-Bus 接続の取得に失敗しました: 操作は許可されていません」などのエラー メッセージが報告されます。

[root@25d27693a24d ~]# systemctl sshd を起動します
D-Bus 接続に失敗しました: 操作は許可されていません

解決策は、docker の実行時に /usr/sbin/init を実行することです。例えば:

[root@localhost /]# docker run -tid --name hadoopbase centos/hadoopbase:v001 /usr/sbin/init

このように起動しているコンテナは、systemctl を使ってサービスを起動することができます。systemctl 経由で実行した場合にエラーが発生する問題は CentOS7.2 で解決されたという人もいますが、実際の運用ではまだそのような問題に遭遇します。

もう 1 つの解決策は、Dockerfile を使用してイメージ ファイルを生成するときに、CMD 経由で /usr/sbin/init コマンドを実行することです。つまり、CMD ["/usr/sbin/init"];

参考: https://github.com/docker/docker/issues/7459
参考:

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • CentOS 7 での Docker プロキシの設定 (Linux での Systemd サービスの環境変数設定)
  • docker システムコマンドセットの使用

<<:  MySQL の order by ステートメントの最適化方法の詳細な説明

>>:  Jupyter Notebook で JavaScript を実行する方法

ブログ    

推薦する

Alibaba Cloud centos7にmysql8.0.22をインストールする詳細なチュートリアル

1. MySQLインストールパッケージをダウンロードするまず、https://dev.mysql.c...

VMware Workstation 14 Pro(仮想マシン)にシステムをインストールする方法の詳細な説明

この記事では、VMware Workstation 14 Pro (仮想マシン) にシステムをインス...

JavaScript の useRef と useState の紹介

目次1. useStateフック2. useRefフック3. useRef と useState 4...

実行中の Docker コンテナにボリュームを動的に追加する方法

以前、Docker コンテナの起動後にボリュームをマウントできるかどうか尋ねられたことがあります。m...

ウェブサイトのデザインを改善するための役立つ提案を提供します

<br />ウェブサイトを科学的にデザインする: アイトラッキング研究から学ぶ 23 の...

docker で Apollo をデプロイする詳細なチュートリアル

1. はじめにここでは apollo について詳しく説明しません。公式サイト https://git...

HTML ウェブページにおけるさまざまなフォント形式の詳細

このセクションでは、テキストの変更の詳細から始めます。これにより、読者はさまざまな HTML フォン...

見落としがちなMySQLのCOLLATIONの例の詳細な説明

序文MySQL データベースの文字列型は、CHAR、VARCHAR、BINARY、BLOB、TEXT...

nginx は画像表示の遅さとダウンロードの不完全さの問題を解決します

前面に書かれた最近、ある読者から、ブラウザからサーバーにアクセスすると、画像の表示が遅く、ブラウザに...

Linux ユーザー グループと権限の概要

ユーザーグループLinux では、すべてのユーザーはグループに属する必要があり、Linux には次の...

ウェブページを開いて数秒後に他のページにリダイレクトする

これを実現するには、次のコードを追加するだけです。方法1: メタを使用する使用方法: <Met...

XMLとCSSスタイルの組み合わせ

学生.xml <?xml バージョン="1.0" エンコーディング=&qu...

iframe 適応サイズ実装コード

ページドメインの関係:メインページ a.html はドメイン A: www.jb51.net に属し...

MySQLのさまざまなロックの概念的理解

楽観的ロック楽観的ロックは、主にデータ バージョン記録メカニズムに基づいて実装され、通常はデータベー...

MySQL 5.7 のキーワードと予約語の詳細な説明

序文MySQL と Oracle のキーワードはまったく同じではありません。Oracle データベー...