はじめに
dockerでnginxを起動する
基本的なやり方は,dockerhubのサイトに記載されている
https://hub.docker.com/_/nginx
環境
- wsl2(Ubuntu 20.04)
- Docker version 20.10.13, build a224086
Dockerはwsl2(Ubuntu20.04)にインストールされている
準備
wsl2で利用でdockerは自動起動ではないので,dockerを起動する
tlasu@XXXX:~$ sudo service docker start
* Starting Docker: docker
とりあえずの起動(失敗)
$ sudo docker run --name some-nginx -d nginx
tlasu@XXXX:~/docker_nginx$ sudo docker run --name some-nginx -d nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
ae13dd578326: Pull complete
6c0ee9353e13: Pull complete
dca7733b187e: Pull complete
352e5a6cac26: Pull complete
9eaf108767c7: Pull complete
be0c016df0be: Pull complete
Digest: sha256:e1211ac17b29b585ed1aee166a17fad63d344bc973bc63849d74c6452d549b3e
Status: Downloaded newer image for nginx:latest
a956f848bb97787c26c1b203967e90d71c7020bf9b8640989f653858a4b96c91
ただし, これだとアクセスできない。
ポートを指定して起動
作成したコンテナに対して後からポート開放するのは面倒とのことなので,コンテナのnameをsome-nginx2
にして,
新しくコンテナを作り直す。
$ sudo docker run --name some-nginx2 -d -p 8080:80 nginx
指定したポートにアクセスして,下記が表示されれば成功(上の例だと"http://localhost:8080")
dockerコンテナの削除
sudo docker rm [コンテナID]
dockerを触っていると,たくさんのcontainerが立ち上がる。
sudo docker ps
では表示されなくても,sudo docker ps -a
でみると残っている。
一括削除の方法は下記。
コマンドオプションとかありそうだが・・・
for a in `sudo docker ps -a |awk 'NR>1{print $1}'`; do sudo docker rm $a; done