从零开始的Docker体验记录
-
- はじめに
Dockerの導入
Dockerとはなんぞや
Dockerのインストール
Dockerを動かしてみよう
Docker公式のイメージの取得
コンテナを生成して起動してみよう
コンテナ内で作業してみる
コンテナを停止する
コンテナをイメージ化
コンテナを起動する
コンテナの削除
イメージの削除
参考サイト
首先
满足以下条件会更容易,即使没有经验也不成问题。
-
- 前提条件
Linuxを触ったことがある
WSL2を導入済み
学会使用Docker后,可以轻松构建运行环境,与虚拟机相比更加轻便。
引入Docker
Docker是什么
轻松地解释虚拟技术
-
- 仮想技術には3種類存在する
ホスト型
ハイパーバイザー型
コンテナ型
只需记住Docker使用容器化即可。
-
- コンテナ型を使うメリット
素早く仮想環境を作成、配布、実行できる
ほかのプラットフォームと同じ環境を構築しやすい
動作が軽い
为了充分运用Linux命令,让我们记住这些命令吧!
Docker的安装
你可以从Docker官方网站上进行下载。
此外,对于Windows系统来说,只需满足以下条件即可安装Docker for Windows!
-
- 64bit
-
- Windows 7以降
-
- IntelならVT-x, AMDならAMD-vがCPUでサポートされている
- Virtualizationを有効にしている
应该能够使用Docker工具箱,所以请确认一下。
注意:由于Docker未启动,因此无法使用docker命令!!
重要!某些企業不允许使用Docker Desktop,您需要自己安装!> 请点击这里了解更多详情
事前准备。
-
- まずはDockerとWSLを用意
Docker DesktopがインストールされているならばDocker自体は大丈夫
dockerを操作するために、WSLを入れておくこと
Dcockerインストール方法はこちら
また、Windows11であればコマンド一つでWSL2導入できるよ
Windows11でのインストール方法はこちら
# dockerのバージョン確認
$ docker --version
$ docker version
另外,可以使用以下命令来确认操作情况。
# dockerの動作状況の確認
$ docker info
让我们尝试运行Docker
获取Docker官方镜像
你可以使用search命令来获取Docker官方提供的镜像。
- Docker hub からイメージを取得できる(公式サイト)
试试搜索nginx镜像。
# nginxの検索
$ docker search nginx
当搜索到之后,使用pull命令获取镜像。
# イメージの取得
$ docker pull nginx
如果能够获取图像,就尝试进行显示。
可以使用图像命令显示的
# 取得したイメージの表示
$ docker images
让我们尝试创建并启动一个容器。
使用mkdir命令在主机上创建一个用于输出nginx日志的文件。
# ファイルの作成
$ mkdir -p nginx/log
使用 run 命令来同时生成并启动容器。
$ docker run -d -p 80:80 -v $(pwd)/nginx/log:/var/log/nginx --name webserver nginx
当启动完成后,访问http://localhost:80 来进行确认试试看。
选项说明
-dはバックグラウンド実行を指定
-p 80:80はホスト側の80番ポートをコンテナ側の80番ポートに転送するように指定
p 8080:80 と指定すれば(http://localhost:8080)でアクセスできるようになる
-vで$(pwd)/nginx/logをコンテナのディレクトリ/var/log/nginxとしてマウント
なお(pwd)はUnixのシェル機能でカレントディレクトリに置き換えられる
–name webserverは生成するコンテナに名前を付ける
nginxは生成に利用するイメージの名前
本当は最後(イメージ名の後)に実行するコマンドを指定する点に注意!
nginxだけ特殊だということを知っておこう
如果启动后,确认可以的话,可以使用cat命令来查看日志。
cat nginx/log/access.log
-
- なお、コンテナを削除した時にコンテナ内のファイルも消されてしまう点に注意
-vで保存場所を避難しておけばなんとかなるかも・・・?
在容器内尝试工作。
在容器内可以使用exec命令来执行命令。
# コンテナのコマンドラインに移動
$ docker exec -it webserver /bin/bash
选项解释
exec は指定したコンテナで指定したコマンドを実行
このコマンドで接続した場合、eixtしてもコンテナは起動したままであることに注意!
-itはコンテナ側のコマンドの入出力を手元のターミナルに接続
webserverはコンテナ名
/bin/bashが実行するコマンド
退出一次并从命令行中离开。
可以使用ps命令来查看正在运行的容器。
# 実行中のコンテナ確認
$ docker ps
停止容器
使用stop命令来停止它。
# コンテナを停止させる
$ docker stop webserver
停止后,用ps命令来确认一下。
同时可以显示所有的容器,包括正在停止状态的容器,可以使用ps -a命令。
将容器镜像化
可以使用commit命令将其转化为镜像。
※请注意,图像化需要遵守命名规范!
<Docker Hubのユーザ名>/イメージ名:[タグ名]
-
- なおpushするとDocker hubに行きます
今回はしない
# Docker imageの作成
$ docker commit webserver webserver:0.0
通过使用images命令,可以确认已经创建的图像。
# イメージの確認
$ docker images
请注意,用-v参数创建的卷不会在commit操作中被转换为镜像。
启动容器
由于run命令同时执行生成和启动操作,因此会导致新的创建。
使用 “start” 命令来启动现有的容器。
# コンテナの起動
$ docker start webserver
可以使用ps命令来确认是否成功启动。
删除容器
在删除之前,先停止容器(也可以直接删除)。
通过使用stop指令来停止。
# コンテナの停止
$ docker stop webserver
可以使用”rm”命令删除容器。
# コンテナの削除
$ docker rm webserver
使用 “ps -a” 命令来确认是否被删除。
图像的删除 de
可以使用rmi命令删除镜像。
在删除时必须指定标签,但如果省略,则默认为”latest”。
$ docker rmi webserver:0.0
$ docker rmi nginx
如果被删除的话,可以使用images命令进行确认。
参考网站
Docker公式リファレンス
https://docs.docker.com/get-started/overview/
Dockerのサーチ検索(実例あり)
http://www.memotansu.jp/docker/771/