LoginSignup
111
96

More than 1 year has passed since last update.

MacでDockerを使ってubuntu環境を構築する

Last updated at Posted at 2019-12-15

動作環境

Mac OS Catalina 10.15.1

概要

Mac上でROSを動かしたいと思い、公式を確認したところサポートされてるのがubuntu上だけだったので、Dockerを使ってubuntuを入れた後、その中でROSを動かしたいと思ったのでその実行手順をまとめておこうと思う。rosを入れる手順は別の記事でまとめようと思う。今回はmacのdocker上でubuntuを入れるまでをまとめる。

まずはDockerをインストールする

とりあえず、MacにDockerをインストールする

公式サイトでまずは自分のアカウントを作ってログインする

スクリーンショット 2019-12-14 16.18.12.png

そして右上のGet Dockerからインストールできる

この時、ターミナル上で以下のコマンドでちゃんとインストールされたか確認できる

docker version

この時、macのアプリケーションフォルダに入ってるDockerをクリックして起動させてないといけないらしく、参考にした記事には載ってなかったのでこちらには載せておく

ubuntuを入れる

これでDockerは入ったのでubuntuを入れていく
まずはdockerhubからubuntuイメージを引っ張ってくる

docker pull ubuntu:18.04

今回はubuntu 18.04を入れる

こちらのdockerhubの方でpull可能なubuntuのバージョンは載ってるので好きなのを入れよう

docker images

これで引っ張ってきたイメージを確認する

表示される一覧にubuntu18.04があればきちんとpullできている

ubuntuが入ったら

まずはubuntuの起動をする

下記のコマンドでubuntuコンテナを立ち上げる

docker run -it -d --name ubuntu ubuntu:18.04

--nameの後はコンテナに名前をつけてるだけなので任意の名前を勝手につけても行ける

正しく起動されてるか確認する

docker ps

コンテナ名はubuntuなので、正しく起動されてたら表示一覧に出てくる

もし、出てこない場合は

docker ps -a

上記のコマンドを実行して一覧に表示されるか確認する
もしubuntuがない場合はコンテナが正しく作れてないのでコンテナを立ち上げるとこからやり直す

起動したらそのコンテナに入る

docker exec -it ubuntu /bin/bash

これでコンテナ内に入れたので、これからはこのubuntu環境で開発を行える

抜けたい時は

exit

上記のコマンドでubuntu環境を抜けて、macの環境に戻ってこれる

コンテナを抜けたらちゃんとコンテナを停止させておく

docker stop ubuntu

コンテナに再度入りたい場合は

docker start ubuntu
docker exec -it ubuntu /bin/bash

これで入れる

停止と再起動はどちらもコンテナから抜けてからやる必要があるので注意が必要
コンテナから抜ける時は上記と同じ

ubuntu環境ができてからの初期設定

ubuntu環境を構築してからの初期設定をする
前回同様、下記のコマンドでコンテナに入る

docker start ubuntu
docker exec -it ubuntu /bin/bash

APT(パッケージ管理ソフト)は最初から入ってるが、念のため最新版にしとく

apt-get update

次にユーザの設定をする

これでユーザを追加する

adduser user_name

user_nameには自分の好きな名前を入れよう

gpasswd -a user_name sudo

これでubuntu内でユーザーが追加された

これで一通りできたわけだが、例えばubuntu内でpythonのコードを書いて実行するには
ファイルの読み書きができないといけないが、docker内で処理されるので、macに入れてるテキストエディタは使えない

ということでubuntuにvimを入れておいた

sudo apt-get install vim

これでvimをインストールできた

どうせ使うのでgitも入れとこう

sudo apt-get install git

初期設定もしておく

git config --global user.name [任意のユーザ名]
git config --global user.email [任意のユーザ名]

ちなみに、最近知ったのですが、vscodeでdockerのコンテナ内のファイルをいじる方法があるみたいなので、置いておきます。
結論からいうと、vscodeの拡張機能を入れるだけです。以下の名前のプラグインを入れてみてください。

Remote-Container

dockerをGUIで操作したり、dockerのコンテナ内のファイルをvscodeでいじれるようになります。

参考文献

Dockerをインストールした時に参考にさせていただいた
https://qiita.com/kurkuru/items/127fa99ef5b2f0288b81

ubuntu入れる時に参考にさせていただいた
https://weblabo.oscasierra.net/docker-ubuntu1604/

ユーザーを追加する時に参考にさせていただいた
https://qiita.com/white_aspara25/items/c1b9d02310b4731bfbaa

vim入れる時参考にさせていただいた
https://qiita.com/YumaInaura/items/3432cc3f8a8553e05a6e

111
96
1

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
111
96