DockerでUbuntuを使ってみたメモ。
最初にDockerをインストールしておく。
# Dockerのインストール brew install --cask docker
Ubuntuイメージを検索する。
docker search ubuntu
普通にDockerでUbuntuを使う場合:
docker pull ubuntu docker run -it ubuntu
ログインしたら、aptでいつものようにインストール可能。
apt update apt install -y vim git exit # コンテナを抜ける
コンテナの一覧を表示など
docker ps -l # 最新のコンテナを表示 docker ps -a # 全てのコンテナを表示 docker start xxx # 停止したコンテナを再開 docker attach xxx # 稼働中のコンテナに入る docker rm xxx # コンテナを終了 docker images # イメージ一覧を表示 docker rmi xxx # イメージを削除 docker commit -m "何をしたか" -a "作者" コンテナID リポジトリ/イメージ名
ローカルのファイルシステムをマウントして起動。
# ユーザーフォルダを /mnt で docker run -v ~/docs:/root/docs -it IMAGE bash
なお、複数のディレクトリを指定可能なので、いつもの環境で作業したければ、.sshをマウントしておく。そうすれば、いつものSSHキーでGitHubやその他のリポジトリを操作可能。
# よく使うディレクトリをマウント docker run \ --rm \ -v ~/.ssh:/root/.ssh \ -v ~/repos:/root/repos \ -it ubuntu bash
なお「--rm」オプションをつければ、作業終了後コンテナが消えるので環境を汚すことがないので便利。--rmをつけない場合、docker rmで明示的に削除する。
Dockerfileで必要なアプリだけaptしておいたベースを1つ作っておいて、用途に合わせて使い分けが可能。
以下のようなコマンドでイメージをビルドできる。
docker build -t イメージ名/タグ名:latest .
M1 MacでDockerでUbuntuのlxdeを動かす方法のメモ。
DockerでGUI、面白かった。たぶん使わないけど、一応備忘録としてメモ。
Dockerコンテナを取得。
docker pull dorowu/ubuntu-desktop-lxde-vnc docker run --name ubuntu_desktop -p 8888:80 dorowu/ubuntu-desktop-lxde-vnc
ブラウザ「localhost:8888」にlxdeのデスクトップ画面が表示される。ターミナルでCtrl+cを押すと終了する。
Dockerはx86-64のエミュレーションモードでも動くので便利。もちろん、動作は遅くなるけれど、x86-64以外は動かないというライブラリを動かすのに便利。
docker runを行う際に、--platform=linux/amd64のオプションを付与して起動を行う。
docker run --platform=linux/amd64 ubuntu
また、Dockerfileでビルドする場合は、以下のように、「--platform」オプションを指定する。
FROM --platform=linux/x86-64 ubuntu ... RUN apt update && apt install wget ..