LoginSignup
2
1

More than 3 years have passed since last update.

Windows環境にUbuntu + Docker 環境を作るまで

Last updated at Posted at 2021-02-14

概要

  • Docker for WindowsではなくUbuntuにDockerを入れて使えるようにする:whale:
  • 詰まりがちなところも解説

注意点

  • 構築前にDokcer for Windowsがwindowsにインストールされている場合はアンインストールしてからの実行がおすすめ

ubuntuインストール起動

Windows環境でWSLを有効化にする

  • 管理者権限でPowerShellを起動し、下記のコマンドを入力
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Microsoft StoreからUbuntuをインストール

ubuntuを起動

  • 初回起動時に「ユーザー名」「パスワード」の設定を求められるので、適切に設定

Dockerのインストール

Ubuntu上でコマンドを実行

Dockerのパッケージをインストールする

sudo apt install -y \
  apt-transport-https \
  ca-certificates \
  curl \
  gnupg-agent \
  software-properties-common

Docker公式のGPGキーを取得して追加

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

確認

sudo apt-key fingerprint 0EBFCD88

インストール

マシン構成によって次のコマンドが若干違うためこちらを確認して実行
下記はx86_64の場合

x86_64.sh
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

リポジトリの最適化

処理に時間がかかるので注意

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

インストール確認

sudo docker --version

バージョン情報が出力されていればDokcerのインストールは完了

(任意)dockerコマンドを使いやすくする

インストールした直後はsudoコマンドを入力しなければdokcerが実行できない
下記コマンドを実行してsudoを入力しないで実行を行えるようにする

sudo usermod -aG docker $USER

Dokcer立ち上げ

# 開始
sudo service docker start

# 停止
sudo service docker stop

開始後にdokcer ps などで立ち上がっていることを確認すると良い

注意点

Windowsの再起動などを行ったあとはDockerの立ち上げから必要なので注意
検索すると色んな人が自動起動のやり方説明してるので気になった人はやるといいかもしれない。


Docker-composeのインストール

Ubuntu上でコマンドを実行

インストール

公式からバージョン情報を確認してインストールしたいバージョンにコマンドを書き換えて実行
https://github.com/docker/compose/releases

sudo curl -L "https://github.com/docker/compose/releases/download/ここにバージョン/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

記載時の最新バージョンの場合は

1.28.2.sh
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

上記コマンド実行後にこちらを実行してパスを通す

sudo chmod +x /usr/local/bin/docker-compose

注意点

下記コマンドでインストールした場合、バージョンが1.25.0になってしまうため注意

sudo apt install docker-compose

このコマンドでアンインストールしてから上記の方法で再インストールすると最新バージョンにできる

sudo apt remove docker-compose

インストール確認

docker-compose --version

バージョン情報が出力されていればOK


おわり:end:

これで構築は終わり。
Dokcerのコンテナ起動などは普段と同じように。
ふぁいと:bangbang:


おまけ

この環境時 + Laravelで困ったことを記載する

Laravel_logのPermissionError

/hogehoge/laravel/storage/logs/laravel-2021-02-14.log” could not be opened: failed to open stream: Permission denied

みたいなのが出た。
Ubuntu上でプロジェクトディレクトリまで移動し、権限を付与してあげると治る

sudo chmod -R 755 /hogehoge/laravel/storage/logs/

docker.host.internalが使えない

docker.host.internalDocker for WindowsDokcer for Macでしか使えない(記載時点では)
そのため、docker-compose.ymlに下記を追記して使えるようにしなければならない

docker-compose.yml
app:(サービス名)
 {中略}
 extra_hosts:
 - "host.docker.internal:host-gateway"

docker-compose up -d --buildで構築し直すと動くようになる。
私はここでめちゃくちゃハマった


ほんとに終わり

Ubuntu環境結構快適。
おいでよUbuntu+Dokcerの森

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1