1
3

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 5 years have passed since last update.

DockerCEとDjangoをUbuntuに導入したい!! 文系学生がやってみた!!

Last updated at Posted at 2018-04-03

はじめに

インターン先でプログラミングを勉強中の文系学生。

「プログラミング、できるようになってきたんじゃない?」
「本当ですか!! ありがとうございます!!」
「じゃあ、これから仕事をしていこうか」
「!!!」
「Dockerインストールしてる?」
「???」

さてさて、今回はDockerを導入していきますか!!

Dockerとは

当方、Dockerなるものを初めて聞いた。
ドットインストールにDocker入門を発見!!
概要だけ説明してもらおうっと。

Dockerとは仮想環境のこと。
ほかのOSとかにインストールされていても、使うことができるという特徴を有しているらしい。
『 Build once,run anywhere』って言われるらしい。
まんまのイメージかな。
もうちょっと調べてみるか。

さわって理解するDocker入門によると、Dockerは仮想環境の中でもコンテナ型というらしい。
文字じゃ十分に説明できないから、サイトを見たほうがいいかも。
まとめることで軽量化が実現されるらしい。
Webpackのモジュールとかと同じ考え方かな?

まぁ、プログラミングにおいて、軽量化は欠かせないよね。
そんな便利なDockerを導入していくか!!

Windowsに導入

Windowsに導入するには、Hyper-VVTが必要みたい。
まぁ、仮想環境入れるわけだしね。
一応、確認しておきますか。

まずは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

こうすることで、VagrantfileDockerにできる。
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 attachCtrl + 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

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?