Docker (1)
とりまDockerを使ってみる。公式イメージのnginxを使ってこのサイトをデプロイして見れるまでに
インストール
sudo apt install docker.io
一応、そのままでも使えるが以下でやるbuildが今後deprecatedになるらしいのでbuildx
mkdir -p $HOME/.docker/cli-plugins
mv docker-buildx-version $HOME/.docker/cli-plugins/docker-buildx
chmod +x $HOME/.docker/cli-plugins/docker-buildx
※sudo apt install docker-buildx-pluginでも可能っぽい
Dockerfileを作成
FROM nginx
WORKDIR /usr/share/nginx/html
COPY docs .
EXPOSE 80
build
docker buildx build -t web .
なんやらダウンロードなどが完了したあとで
docker images -a
をすると
REPOSITORY TAG IMAGE ID CREATED SIZE
web latest a305d54525f8 29 seconds ago 328MB
という感じでDocker Imageが作られるのでこれを起動する
起動
docker run -d -p 8080:80 -t web
完了するとDocker側の80番ポートがこっち側では8080番ポートでアクセスできるので見れるか確認してみる
やったあとで
docker container ls
をすると起動したコンテナが以下のように表示される
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
54702b792684 web "/docker-entrypoint.…" About a minute ago Up About a minute 0.0.0.0:8080->80/tcp, :::8080->80/tcp objective_torvalds
コンテナの停止
docker container ls
でコンテナIDを取得して
docker stop 54702b792684
でコンテナを停止することができる。でその際停止した使用してないコンテナを消す場合には
docker container prune
で削除できる。特定のだけ消したい場合には
docker container rm [container ID]
で削除できる。又、存在しているコンテナをすべて一括で止める場合には
docker stop $(docker container ls -qa)
というようにやってもできる
イメージの削除
docker images -a
を実行すると以下のように存在しているDocker Image一覧が出る
REPOSITORY TAG IMAGE ID CREATED SIZE
web latest a305d54525f8 4 minutes ago 328MB
kanon:/home/kanon/docker:$ docker image rm a305d54525f8
あとは
docker image rm web
docker rmiでもいいっぽい
という感じでDocker Imageを削除できる
余談
Docker Desktopを使いましょう!!