LoginSignup
0
2

More than 3 years have passed since last update.

Vagrant上のLubuntuでVSCode+Docker環境を作りたい~Vagrant Box化編~

Last updated at Posted at 2019-08-08

対象としている人

VisualStadio CodeのRemote-Containerを使いたいけど、Windows10 Homeな人。
(どんだけニッチなんだよ)

経緯

Remote-Containerを使おうと思ったらDockerToolboxは対応していなかったし、
かといって、ProにしてもVirtualBoxが使えなくなるらしいので、じゃあ、もう開発用の環境作ろうかなと。

前提

  • VirtualBoxが入っている
  • Vagrantが入っている
  • OSがWindows10である

前回までの記事


Vagrant Box化

Lubuntuに限らず、開発環境はポコポコと量産できるのが良いなと思うのでVagrantで簡単に作れるようにします。
CentOSなどサーバはやったことあるけど、Desktopは初めてなのでメモも兼ねて。

VirtualBox Guest Addition

  1. デバイス>Guest Additions CDイメージの挿入...を選択
    image.png

  2. 開いたらツールから「端末で開く」を選択
    VirtualBox_lubuntu_24_07_2019_04_58_12.png

  3. 以下のコマンドを実行
    ※タブ補完が効かない(拡張子が.runだから?)のでlsコマンドで確認してからコピペするのが吉

  $ sudo sh ./VBoxLinuxAdditions.run
  1. 正常に終わったら一応再起動して、イメージのスナップショットを撮る

困った:インストール後画面が黒くなった件

マウスカーソルだけはLubuntuっぽくなるものの、画面が真っ黒に。
慌てず、表示>仮想スクリーン1を選択し、一番小さいサイズを選択してみると表示される(かも)
でも、解像度が圧倒的に低いので、表示されてからいい感じのを選択すると良いと思う。

image.png

不要なソフトを削除する

正直ゲームとかOfficeソフトとか要らんので削除する。

Terminalを使って

いらなそうなパッケージを検索する手順

  1. sudo dpkg -lでパッケージ一覧を出す
  2. /xxxxxでパッケージ名を検索

実際やったこと

$ sudo apt-get purge \
 libreoffice-* \
 2048-qt \
 bluez bluedevil bluez-* \
 skanlite \
 vlc \
 quassel quassel-data \
 gstreamer* \
 fonts-lohit*
$ sudo apt autoremove

GUIで選びながら

  1. システムツール>Discoverを選択
    VirtualBox_lubuntu_24_07_2019_05_22_06.png

  2. Installedをクリックするとインストール済のものが出てくるので鬼のように消す

結果

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            960M     0  960M   0% /dev
tmpfs           200M  992K  199M   1% /run
/dev/sda1       9.8G  4.2G  5.1G  46% /
tmpfs           996M  6.5M  990M   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           996M     0  996M   0% /sys/fs/cgroup
tmpfs           200M  8.0K  200M   1% /run/user/1000

数GBは削除でき。。たかな。

Box化

公式の手順を参考に
Creating a Base Box
VirtualBox Base Boxes

あと先人の知恵を拝借し
Vagrant box 作成手順(CentOS 7.4)

SSHインストールと設定

sshdインストール

sshdインストール
$ sudo apt-get install -y ssh
$ sudo systemctl start ssh
$ sudo systemctl enable ssh

SSH鍵設定

SSH鍵設定
$ sudo apt-get install -y curl
$ mkdir -p /home/vagrant/.ssh
$ chmod 700 /home/vagrant/.ssh
$ curl -k -L -o authorized_keys https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub
$ chmod 600 authorized_keys 
$ chown -R vagrant:sudo /home/vagrant/.ssh/

sshの設定を変更

sudo vi /etc/ssh/ssh_config
ssh_config
# 以下を追加
UseDNS no
sshリスタート
sudo systemctl restart sshd

SUDO設定

visudo立ち上げ
$ sudo -s
# visudo

viじゃなくてnanoで立ち上がるので注意。。。

visudo
# 以下を追加
vagrant ALL=(ALL) NOPASSWD: ALL

パッケージの最新化

# apt-get update
# apt-get upgrade
# apt-get clean

boxサイズを小さくするおまじない

0埋めファイルを作成して、削除するとboxサイズが小さくなるらしい。

$ dd if=/dev/zero of=/EMPTY bs=1M
$ rm -f /EMPTY

ここまで終わったらシャットダウン

$ shutdown -h now

いよいよBox化

Boxの作成と追加

powershellで(別にコマンドプロンプトでもOK)

> mkdir lubuntu
> cd lubuntu

#  --base:作成対象の仮想マシン名(VirualBoxのリストに書いてあるやつ)、
# --output:出力 box ファイル名
> vagrant package --base lubuntu --output lubuntu-19.04-x86_64.box

# boxを追加
> vagrant box add --name lubuntu-19.04-x86_64 .\lubuntu-19.04-x86_64.box

確認してみる

Vagrantfileが作成されるので、別のディレクトリを作成するといいかも

確認
> vagrant box list
lubuntu-19.04-x86_64 (virtualbox, 0)

# Vagrantfileを作成
> vagrant init lubuntu-19.04-x86_64

# 起動
> vagrant up

# sshで入る
> vagrant ssh

確認できたら削除

> vagrant destroy
0
2
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
2