Ubuntuでdocker-composeがエラー「command not found: docker-compose」
Dockerの立ち上げに関しては、
- Dockerfileというファイルを作成する
- ビルドしてDockerイメージを作成する
- Dockerイメージからコンテナを作成する
- コンテナに接続してログインする
という手順を行って、
上記をやってみたあとに、
- Dockerのイメージの確認
- Dockerのコンテナの確認
- Dockerのコンテナの停止と削除
などを行っていました。
この辺りは、
コマンドで実行したことがあるので、
その辺りは、
【簡易サンプル】Dockerの基本的な手順とコマンドサンプル
こちらを参考にしてください。
今回は、
docker-compose
を使っているのですが、
特定のサーバーで環境を構築するために、
コマンドを実行したところエラーになりました。
その時の対応を、
自分の備忘録として、
忘れないうちにメモを残しておきます。
エラー内容
普段から、
docker-composeを使ってビルドをしていましたが、
別のサーバーでも環境を作ろうとして、
実行したところ、エラーが発生
実行コマンド
docker-compose -f docker-compose.sample.yml build
エラー内容
$ docker-compose -f docker-compose.sample.yml build
command not found: docker-compose
ということで、
docker-composeが見つからないとのこと。
最終的な対応方法
こちらはシンプルに、
サーバーにdockere-composeを導入
を行うことで解決しました。
解決するための過程等をメモ。
念のために、
Docker自体が動いているか確認。
確認コマンド
docker ps
確認結果
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
こちらで、
Docker自体は問題ないですね。
それでは本題の方の、
docker-composeを導入します。
docker-composeのバイナリを取得します。
ベースのコマンドはこちらです。
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
こちらのコマンドで、
環境にあったバイナリが取得できると思いますが、
必要に応じて、
download/docker-compose-$(uname -s)-$(uname -m)"
の部分で指定することで、
任意のバイナリを取得することも可能です。
のバージョンを調整してください。
取得できたら、
実行権限を調整します。
コマンド
sudo chmod +x /usr/local/bin/docker-compose
こちらで権限の調整が終わるので、
実際にコマンドで確認してみましょう。
確認コマンド
docker-compose --version
確認したところ、
$ docker-compose --version
Docker Compose version v2.23.0
このように、
うまくdocker-composeが挙動しましたので、
無事に解決できました。
スキルを使って、就職/転職/副業する時のサイト
プログラミングのスキルなどを、自分なりに高めた上で、
自分のスキルをアピールして就職や転職を行い、年収をあげるか、
副業という形で、年収にプラスアルファの稼ぎを増やすことはできます。
まずはできる範囲で取り組むことで、
少しずつ、経験値も増え、自分のスキルが収入につながるのでおすすめです。