はじめに
インターン先でプログラミングを勉強中の文系学生。
「プログラミング、できるようになってきたんじゃない?」
「本当ですか!! ありがとうございます!!」
「じゃあ、これから仕事をしていこうか」
「!!!」
「Dockerインストールしてる?」
「???」
さてさて、今回はDockerを導入していきますか!!
Dockerとは
当方、Dockerなるものを初めて聞いた。
ドットインストールにDocker入門を発見!!
概要だけ説明してもらおうっと。
Dockerとは仮想環境のこと。
ほかのOSとかにインストールされていても、使うことができるという特徴を有しているらしい。
『 Build once,run anywhere』って言われるらしい。
まんまのイメージかな。
もうちょっと調べてみるか。
さわって理解するDocker入門によると、Dockerは仮想環境の中でもコンテナ型というらしい。
文字じゃ十分に説明できないから、サイトを見たほうがいいかも。
まとめることで軽量化が実現されるらしい。
Webpackのモジュールとかと同じ考え方かな?
まぁ、プログラミングにおいて、軽量化は欠かせないよね。
そんな便利なDockerを導入していくか!!
Windowsに導入
Windowsに導入するには、Hyper-V
とVT
が必要みたい。
まぁ、仮想環境入れるわけだしね。
一応、確認しておきますか。
まずはHyper-V
からだな。
…て、ないし。
あれ? Windows10ってHyper-Vあるんじゃないの?
調べてみると、Windows10 Home
にはないみたい。
ちなみに、自分のWindowsはWidows10 Home
。
次だ次!!
Vagrantに導入
Vagrantにubuntuを導入すれば、Dockerでも使えるみたい。
ドットインストールもこの方法だし、この方法でやっていくか。
Ubuntuの導入
Vagrantのフォルダに、Vagranbox.esから、Ubuntuのボックスを追加する。
ボックスの名前はOfficial Ubuntu 14.04 daily Cloud Image amd64 (Development release, No Guest Additions)
ね。
見つけたら、Powershellで
$ vagrant box add ubuntu https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box
を張り付けて、Enter!
完了したら、
mkdir Docker
cd Docker
vagrant init ubuntu
こうすることで、Vagrantfile
がDocker
にできる。
Vagrantfile
のIPアドレスを変えないと、CentOSと被るな…。
ドットインストールと同じように'192.168.55.44'にしておくか。
作業が終わったら、vagrant up
。
続いて、PuttyでVagrantにログイン。
どっちもvagrant
でいける。
DockerCEのインストール
Puttyでubuntuに入れたら、Dockerをインストールしていこう!!
ホームページを見る。
まずは、
$ sudo apt-get update
色々とインストールする方法はあるみたいだけど、今回はリポジトリを使ってインストールしていくか。
『リポジトリ=データベース』の認識で良いよね?
$sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
これらが終わったら、
$edge test stable
だけど、n2n
パッケージがないから、edgeは使えないとのこと。
まぁ、インストールすればいいんだよね。
$ sudo apt-get install n2n
をした後に、
$edge test stable
あとはコマンド連打。
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce
$ apt-cache madison docker-ce
最後のコマンドを打つと、使用できるDockerCEが表示される。
その中から最新のDockerCEを見つけて、
$ sudo apt-get insatll docker-ce=18.03.0~ce-0~ubuntu
(2018/4/3時点だと18.03がそれっぽい?)
$ docker --version
でさっきインストールしたバージョンがインストールされていればOK?
用語
Dockerで利用するコマンドをまとめておこう。
DockerをインストールしたOSにImageを持ってくるのはdocker pull
。
docker run
でImageを実行して、作られるのがContainer。
docker commit
でContainerからImage作成
docker push
でImage複製
Imageの操作
Docker Indexに色々なImageがある。
このページから検索もできるけど、$ sudo docker search (文字列) |more
でもできる。
Ctrl + C
で抜け出して、sudo docker pull centos
でImageを持ってくる。
Imageが取得できたかどうかは、sudo docker images
でわかる。
Imageの詳細は、sudo docker inspect (Image名 or ImageのID)
。
Imageの削除はsudo docker rmi (Image名 or ImageのID)
。
Containerの操作
sudo docker run (Image名) (操作)
バックグラウンドでの稼働はsudo docker run Image -d (操作)
。
フォアアラウンドに持ってくるのは、sudo docker attach
。Ctrl + C
で抜けるためには、--sig-proxy=false (Container名)
sudo docker stop (Container名)
やsudo docker kill (Container名)
でストップできる。
sudo docker start (Container名)
で再開。
実行中のタスクのログはsudo docker logs (Container名)
で見れる。
Containerが作られた場所はsudo docker ps
で実行中の一覧表示。
動作が終了したものは、sudo docker run Image (操作) -a
。
Containerの削除は、sudo docker rm (名前)
。
Container内でImageの作成するのは、sudo docker run -i -t (image) (ディレクトリ)
Django編
とりあえず、これで必要最低限の導入はできたかな?
終わったことを報告すると、「『Django』も導入しようか」とのこと。
そんな簡単に導入できるのか…?
Composerの導入
Quickstart: Compose and Djangoを見てみるか。
まずは、DockerのComposerをインストールしなくちゃいけないのね。
$ sudo curl -L https://github.com/docker/compose/releases/download/1.20.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$docker-compose --version
上から順番にやっていって、docker-compose version 1.20.1, build 1719ceb
が表示されればいいんじゃないかな?
Djangoの導入
公式の英語が完全には理解できないから、ほかのサイトを探そう…
vagrant + Ubuntu 16.04 LTS でDjango開発環境を構築
を発見!!
いやぁ、助かった助かった。
まずは、Vagrantfile
の
# config.vm.network "forwarded_port", guest: 80, host: 8000
を
config.vm.network "forwarded_port", guest: 8000, host: 8000
に変更。
続いて、以下のコマンドを入力していく。
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3 get-pip.py
$ sudo pip install Django
これで$python3 -m django --version
を打って、``が表示されれば良いはず。
Djangoの運用
まずはtreeコマンドをインストールしないと。
tree構造で見たほうがわかりやすいからね。
$ sudo apt-get install tree
その後で、$ django-admin startproject (プロジェクト名)
でプロジェクトの作成。
$tree
でツリー構造でディレクトリを見れるはず。
cd (プロジェクト名)
に移動して、Django
を動かす。
$ python3 manage.py runserver 0.0.0.0:8000
これでhttp://127.0.0.1:8000
にアクセスすれば、動いているかどうかが確認できるね。
まとめ
今回は、DockerとDjangoをUbuntuに導入しました!!
これからも少しずつ実務の準備を進めていこう!!
参考資料
ドットインストール-Docker入門-https://dotinstall.com/lessons/basic_docker
さわって理解するDocker入門-https://www.ogis-ri.co.jp/otc/hiroba/technical/docker/part1.html
vagrant + Ubuntu 16.04 LTS でDjango開発環境を構築-http://ritarock.hatenablog.com/entry/2017/10/11/203636