背景
- AtCoderの解説動画のプログラムがC++なのでそれを理解するため
- C++のようなC系の言語をちゃんとやったことがないのでやりたくなったため
環境構築
- train_cppフォルダを作成し,cdでこの中に移動
mkdir train_cpp
cd train_cpp
- マウント用にshareフォルダに作成し,その中にtrain_srcフォルダも作成
mkdir share
cd share
mkdir train_src
- train_cppにVagrantfileを作成し以下のように記述
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "bento/ubuntu-18.04"
config.vm.synced_folder "./share", "/home/vagrant/share"
config.vm.define "train_cpp" do |machine|
machine.vm.network "private_network", ip: "192.168.1.1"
end
end
vagrant up # vm作成
vagrant ssh # vmに接続・アクセス
- 作成した仮想マシンにDockerを公式ページを見てインストールする.
- 作成した仮想マシンにDocker Composeを公式ページを見てインストールする.
- shareフォルダ内にDockerfileを作成し,以下の内容を記述する
FROM ubuntu:18.04
ENV DEBISN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install -y build-essential
- shareフォルダ内にdocker-compose.ymlを作成し,以下の内容を記述する
version: '3.7'
services:
train_cpp:
build:
context: .
dockerfile: Dockerfile
image: train_cpp
container_name: train_cpp
volumes:
- type: bind
source: "./train_src"
target: "/train_src"
sudo su
docker-compose build
docker-compose up
sudo su
docker-compose run train_cpp bash
感想
- やっぱり環境構築は時間がかかった.単純に仮想マシンに直で用意すればすぐだったはず......
- ただ,dockerの勉強にはなったのでそこは良かった.
次にやるとよいことは?
参考ページ