ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

Docker

【Ubuntu】apt-mark を使ってパッケージのバージョンを固定

あるアプリケーションの環境を整備する際に、dockerのパッケージのバージョンを固定する必要がありました。 ここにその時のメモを残します。 パッケージの保持・ロックとは 必要性について apt-mark 使い方 パッケージ hold 関連 インストール済みパッケージ…

【Docker】バージョンを指定してインストール

検証用にバージョンを指定して Docker をインストールしたいことがありました。 対応方法をここにメモします。 現在の Docekr のバージョン確認 Docker 削除 準備 apt-get update 必要なパッケージインストール Dockerの公式GPGキー取得 リポジトリ登録 Dock…

【Docker】docker run でホスト側のマウント先を指定する方法

docker run でホスト側のマウント先を指定する方法をここにメモします。 ホスト側のマウント先を指定する場合 $ docker run -v [ホストディレクトリの絶対パス]:[コンテナの絶対パス] [イメージ名] [コマンド] 設定例 $ docker run -it --rm -v `pwd`:/mnt -…

【Docker】Docker が使用するディスクの状況を表示する方法について

docker で "docker system df" という便利なコマンドがあったので、ここにメモを残します。 このコマンドは、Image ,Container ,Volume の数や容量を表示してくれるものです。docs.docker.com コマンドを実行すると、Dockerが使用するディスクの状況を表示す…

Docker の multi stage build を使って crystal のアプリ環境を構築してみる

crystal と node を使ったアプリの開発環境を準備しようとしたところ依存ライブラリが複雑で準備に時間がかかってしまいました。 そんな時、Docker multi stage build という方法が解決策になったので、ここにメモしたいと思います。 multi stage build とは…

docker のイメージがうまく削除できない時は[-f] オプションを加えてみる

以下のコマンドで docker のイメージを削除しようとしたら失敗してしてしまいました。 症状 $ docker rmi `docker images -q` Error response from daemon: conflict: unable to delete 84c277656e40 (must be forced) - image is referenced in multiple re…

Docker コンテナ(docker image alpine)内に一般ユーザーを作成して sudo の設定をする

Docker コンテナ内で一般ユーザで処理を行わせようとすると、権限の問題でうまくいかないことがありました。その時は、仕方がないので sudo の設定を入れて回避しました。 後々別方法でことが足りたのですが、ここにその時の設定方法をメモしておきます。 処…

docker でローカルホストのネットワークにマッピングなしでアクセスする方法

docker を使っていたら、docker とローカルにある DB を通信させたくなったので方法を調べてみました。以下のサイトを参考にすることで解決しました。 inocop.hatenablog.com”network_mode: host” とすることで、ホストのネットワークに対してポート番号を e…

docker-compose を自分なりにまとめてみる(postgresとdjangoのアプリ)

今回は docker を使って postgres と django を使ったアプリの開発環境を作成する方法をここにメモしたいと思います。 docker-compose とは docker-compose を使うまでのステップ 作業フォルダ作成 Dockerfile 作成 Dockerfile に記載している requirements.…

よく使う docker コマンドをまとめてみました

docker でよく使うコマンドをまとめてみました。 各種情報一覧表示 イメージの一覧確認 コンテナの一覧確認(全てのコンテナ) docker コンテナ操作 コンテナ起動 コンテナ停止 コンテナを作成して起動からログインしてbashで操作 バージョン確認 Dockerのバ…

docker で不要なコンテナを削除する方法

docker で使われていないコンテナイメージなどを削除したい場合は以下のコマンドを実行します。 $ docker system prune -a-a は --all で、 build キャッシュと、中間イメージ(タグのないイメージ)も消します。コンテナから使用されていない Docker ボリュ…

docker-compose build で "You must use Bundler 2 or greater with this lockfile." とエラーが出てたので対応を考える

docker で環境構築中に以下のようなエラーが出たので対応方法をまとめておく。 You must use Bundler 2 or greater with this lockfile. ERROR: Service 'app' failed to build: The command '/bin/sh -c bundle install --jobs=4' returned a non-zero code…

Windows で Go バイナリを Docker でビルドしてみる

Windows で Docker を使って Go をビルドする方法についてまとめてみました。Dockerhub から golang のイメージの取得先を確認します。 hub.docker.comコマンドプロンプト(PowerShell窓)を開いて以下のコマンドを実行します。 docker pull golang latest: …

Docker で容量不足(no space left on device)が出たときの対応

Docker で容量不足(no space left on device)が出たときの対応を簡単にまとめてみました。 やりたいこと コマンド 全コンテナ表示 $ docker ps -a id指定して削除する場合 $ docker rm container_id 全コンテナ削除する場合 $ docker rm $(docker ps -q -a…

Windows 10にdockerをセットアップしてみる

これまで OS が Windowsのときは、Hyper-V とか VMware を使っていたので Windows 10 に docker をセットアップする流れをまとめてみました。 今回は”Docker Desktop”というものでdockerのセットアップを行います。 Docker Desktop とは セットアップ方法 Do…

Mac に docker をインストールする方法

Mac に Docker をインストールした時の作業の流れをまとめます。 流れとしては、以下の通りです。 Dockerをインストール Nginxコンテナ起動 Nginxコンテナ停止 Nginxコンテナ削除 Macのローカルにあるイメージ確認 Mac の環境 作業内容 docker インストール …