0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Docker for Mac が重すぎて仕事にならんので、Vagrant + dockerで環境を作り直してみた

Last updated at Posted at 2020-06-15

はじめに

仕事でdockerを利用していたが、特に自分のPCと相性が悪く、1日30回くらいフリーズして仕事にならない状況だった。(同僚はそうでもなかった)
もちろんリソースは十分に割り当てていたのだがそれでもダメだったので、いろんな記事を参考にさせていただき、ようやく環境構築ができたのでメモ書きを残しておく

基本的にこちらの記事を参考にさせていただきました。ありがとうございました。
Mac上でDocker起動だけVagrant内で行い開発作業はすべてホスト側でするための手順

環境

・ macOS Catalina ver10.15.5
・ プロセッサ 2.6GHz 6コア Intel Corei7
・ メモリ 16GB 2400 MHz DDR4
・ ストレージ500GB

手順

VirtualBoxのインストール

Vagrantのインストール

Vagrant init

作業用のディレクトリを作成し、vagrant init を行う

$ mikdir -p ~/sample_vagrant_docker
$ cd ~/sample_vagrant_docker
$ vagrant init centos/7

vagrant-disksize プラグインを使って VM のディスク容量を増やす

VMの容量に不安があるので、あらかじめ増やすために vagrant-disksize プラグインをインストールする。

$ vagrant plugin install vagrant-disksize

Vagrantfile の編集

vagrant init に成功するとVagrantfileが作成されるので編集する

Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  # プラグインのvagrant-disksize をインストールしておく
  config.disksize.size = '100GB'
  # メモリを増やしておく
  config.vm.provider "virtualbox" do |v|
    v.memory = 4096
    v.cpus = 2
  end

  # VM 上で初めから Docker を使えるようにしておく
  config.vm.provision "docker"
  # ホスト側にポートフォワーディングして web の画面をみれたりデータベースアクセスできたりするようにしておく
  # guestのポートは適宜変更してください
  config.vm.network "private_network", ip: "172.12.8.150"
  config.vm.network "forwarded_port", host: 4000, guest: 3000 # Web用
  config.vm.network "forwarded_port", host: 4306, guest: 27017 # DB用

  # ホスト側の docker-compose.yml などのファイルを VM ないで参照するために共有しておく
  # docker-compose.ymlなどのファイルはあらかじめ /Users/xxx/sample_vagrant_docker/ に置いておく
  config.vm.synced_folder "/Users/xxx/sample_vagrant_docker/", "/home/vagrant/work", type: "nfs"

end

vagrant を立ち上げる

$ vagrant up
$ vagrant ssh
[vagrant@localhost ~]$

docker-compose のインストール

https://github.com/docker/compose/releases を参考にdocker-composeをVM環境にインストール

[vagrant@localhost ~]$ sudo curl -L https://github.com/docker/compose/releases/download/1.26.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
[vagrant@localhost ~]$ sudo chmod +x /usr/local/bin/docker-compose

dockerコンテナを起動する

[vagrant@localhost ~]$ cd work
[vagrant@localhost my-project]$ docker-compose up -d

自分の環境の場合は未圧縮のDBのダンプファイルがあった関係で以下のエラーが発生したので、対象のファイル群を圧縮したら無事にdocker-compose up できた

ERROR: Error processing tar file(exit status 1): write /docker-conf/dump/mongo_dump/simulize_development/user_holding_assets.bson: no space left on device

適宜

これで環境はできたので、あとはDBの入れ替えなり必要な作業をvagrant内で行ってください

参考

Vagrant入門から実践まで
Vagrantfileに一行書くだけでVMのディスク容量を増やす方法

0
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?