ソフトウェア -> Docker

とあるサブネットのクライアントから別のサブネットの特定のサーバに対してだけ突然 SSH ができなくなり ping も通らなくなったとき

前提 他のサーバには問題ない 本当に「突然」のように感じた サーバは Raspberry Pi である エラーログとしては以下のような感じです $ systemctl status docker.service ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/syst…

Docker Compose で MySQL 8 のコンテナを作るときに、自由にスクリプトを実行して環境を作る方法

結論 コンテナ側の /docker-entrypoint-initdb.d 配下に実行したいスクリプトを置きます。するとコンテナ作成時にそれらのスクリプトをファイル名の順番で実行してくれます。 コンテナ作成時にホスト側の適当なディレクトリにスクリプトファイルを詰め込み、…

Docker のイメージやコンテナの保存場所をデフォルトの位置 (/var/lib/docker) から変更する

動機 Raspberry Pi の MicroSD カード上で Docker を操作すると凄まじく遅く、また容量を食いまくるので、外部ストレージに移したいから。 結論 デフォルトの保存先である /var/lib/docker にシンボリックリンクを張ります。 具体的には以下の記事に書かれて…

Raspberry Pi (arm64) の Ubuntu に Docker Compose をインストールする方法

結論 apt で入れます。 具体的方法 apt install を実行してインストールします。 $ sudo apt install -y docker-compose 正しくインストールされたかを確認します。 $ docker-compose -v docker-compose version 1.25.0, build unknown

Raspberry Pi (arm64) の Ubuntu に Docker をインストールする方法

結論 公式ドキュメント の方法に従いましょう。 具体的手順(コマンドのみ) 公式ドキュメントからのコピペです。 1. インストール用のスクリプトをダウンロードする $ curl -fsSL https://get.docker.com -o get-docker.sh 2. ダウンロードしたスクリプトを…

Mac の Docker (Docker Desktop) が starting... が延々と続いて起動しないときの対処方法

前提条件 Version 2.4.0.0 (48506) で確認しました。 結論 ファクトリリセット(工場出荷状態に戻す、というやつです)を行います。 方法 1. Dockerのメニューのアイコンから Preferences を選択します。 クジラのアイコンをクリックして Preferences を選択…

Raspberry Pi では特定の Docker イメージ(コンテナ)は実行できない

結論 原因は、x86_64 でビルドされたから、です。実行時にたとえば以下のようなエラーメッセージが出ます。 standard_init_linux.go:211: exec user process caused "exec format error" 対応方法 以下の記事のとおりです。arm* でビルドし直します。 qiita.…

docker-compose up した際に no declaration was found in the volumes section. というエラーが出てきたときの対処方法

結論(の一つ) volumes の指定場所の記述方法において、カレントディレクトリにちゃんと ./ をつける。 だめな例 version: "3" services: jellyfin: image: jellyfin/jellyfin network_mode: "host" volumes: - config:/config - cache:/cache - media:/med…

Docker Compose で立ち上げる MySQL の文字コード(charset)を utf8mb4 にする

現象(状態) 日本語を保存したところ、格納されたデータが ???? になってしまって悲しい状態のときに 。 大切なこと コンテナ作成時に文字コードを指定しないといけません*1。 結論 以下のような docker-compose.yml を書きます*2。command: で文字コードを…

Rundeck 3 を Docker でインストールした場合のファイルの場所(オンプレとの対比)

結論 Rundeck 3 を オンプレ*1 でインストールした場合と Docker でインストールした場合の各ファイル(ディレクトリ)の場所の対比は以下の表のとおりです。 オンプレ Docker /var/rundeck/projects /home/rundeck/projects /var/rundeck/user-assets /home…

Docker のコンテナに root で入る方法

結論 $ docker exec -it -u 0 CONATAINER_NAME /bin/bash つまり -u オプションに 0 を指定すれば OK です。ユーザID を 0 としてログインすることになります。ユーザID 0 は、root ユーザです(以下の例を参照)。 $ cat /etc/passwd root:x:0:0:root:/root…

Docker Compose で作られたデータボリュームには現在のディレクトリ名が接頭語として付与される

具体例 こんな感じで docker-compose.yml 内で volumes を定義したとします。カレントディレクトリは /path/to/fruits であるとします。 volumes: apple: orange: banana: そして $ docker-compose up してから $ docker volume list すると以下のようになり…

minio(S3 クローン)を Docker Compose で立ち上げる

注意点 初期の Access Key と Secret Key は config.json を見る*1 環境変数に定義したらうまくいかなかった*2 結論 以下のような docker-compose.yml を書いて $ docker-compose up すればよいです。 *1:はず。コンソールに出ない *2:おま環の可能性が高い…

Docker Compose (docker-compose.yml) でコマンドラインオプションを指定する方法

結論 command: を使います。 foobar: image: hoge/fuga command: --option_1=12345 --option_2=abcde

Raspberry Pi(ARM) 上の Docker で MySQL を使う

結論 mysql/mysql-server - Docker Hub を用います。 旧結論 hypriot/rpi-mysql を用いる*1。 - hypriot/rpi-mysql 公式イメージが現時点(2018/10/26)では存在しないので……。 補足 MariaDB の場合も同様に パブリックイメージ を用います。 *1:パブリック…

Docker Compose を用いて Nextcloud を構築する

Nextcloud ownCloud の後継というか Fork というかのクラウドストレージアプリケーションです。 Docker Compose で構築する Nextcloud を Docker を用いて構築します。Docker Compose を用いると凄まじく楽なのでこれを用います。

Docker で IPアドレス を固定する方法

結論 オーソドックスな方法の一つです。 1. Docker の ネットワーク を作成する 以下のようにしてネットワークを新規に作ります。--subnet=10.123.123.0/24 の部分は場合に応じて変更します*1。 $ docker network create --subnet=10.123.123.0/24 my_docker…

Powered by はてなブログ