Docker 备忘录
Docker守护进程
Docker守护进程是一个长期运行的进程,用于管理容器。它通过执行用户的Docker命令来启动、重新启动和停止容器,以及进行其他管理操作。
Docker Hub (Docker 仓库)
Docker镜像的注册服务。
可以发布、搜索和下载Docker镜像。
Docker镜像
包含容器运行所需文件的文件系统。
使用特殊的文件系统,如AUSF。
映像上的数据由多个层级构成,且为只读状态。
以图像方式显示
% docker images
创造新形象的指令
## % docker tag 元のイメージ名 新しいイメージ名
% docker tag docker/whalesay my_whalesay
## % docker tag 元のイメージ名 新しいイメージ名:タグ
% docker tag docker/whalesay my_whalesay:num1
在下述情况中,将创建一个名为”my_whalesay”的图像,并附加标签名为”num1″的标签。
显示图像的详细信息命令
## % docker inspect 対象のイメージ若しくはイメージID
% docker inspect my_whalesay
删除图像指令
## % docker rmi 対象のイメージ若しくはイメージID
% docker rmi docker/whalesay
强制删除图像的指令
## docker rmi -f 対象のイメージ若しくはイメージID
% docker rmi -f docker/whalesay
获取图像的命令
## % docker pull 取得したいイメージ
% docker pull docker/whalesay
可能也是最新的图像并不是最新的形象,所以请参考官方资料以获取更详细的信息。
Dockerfile的翻译就可以了
映像定义文件。从Dockerfile构建图像被称为图像构建。
## FROMはイメージを作る際、元のイメージを指定する今回はdocker/whalesay:latest
FROM docker/whalesay:latest
## RUMはイメージビルドの際にコマンドを指定する
RUN apt-get -y update && apt-get install -y fortunes
## CMDはコンテナが作成された後で実行するコマンドを指定する命令
CMD /usr/games/fortune | cowsay
用Dockerfile构建镜像的命令
## % docker build -t イメージ名 .
% docker build -t docker-whale .
本次给构建的映像命名为docker-whale。
「.」用于设置构建上下文,在创建映像时指示可以访问的目录和文件范围。本次表示当前目录(即句号)。
## % docker build --no-cache -t イメージ名 .
% docker build --no-cache -t docker-whale .
当再次使用Dockerfile构建镜像时,以下命令可防止缓存被应用并更新,避免新的软件包被安装。
它允许在不使用缓存的情况下进行更新。
登陆DockerHub
% docker login
Username DockerHubのユーザー名
Password: DockerHubのパスワード
如果成功,将显示“登录成功”。
DockerHub中的标签规则
## % docker tag 元のイメージ名 リポジトリ名:タグ名
% docker tag docker-whale user/docker-whale:num1
如果要将此推送到DockerHub上的“user/docker-whale”仓库,则应该使用以下描述。如果不指定标签名称,则默认为latest标签。请注意,如果错误输入仓库名称,则无法推送!
将镜像推送到DockerHub。
## % docker push リポジトリ名:タグ名
% docker push user/docker-whale:num1
如果发生错误,请重新确认仓库名称是否正确。
确认DockerHub仓库中的镜像已经成功推送。
从DockerHub拉取镜像。
## % docker pull イメージ名:タグ名
% docker pull user/docker-whale:num1
docker imagesコマンドでイメージがpullできていることを確認する。
nginxのコンテナを立ち上げるコマンド
## % docker run --name コンテナ名 -d -p ホスト側ポート番号:コンテナのポート番号 イメージ名
% docker run --name some-nginx -d -p 8080:80 some-content-nginx
–neme は起動するコンテナに名前をつけるオプション。
-d はデタッチモードでコンテナの実行をバックグラウンドで行うもの。入力が無い場合、実行した画面で他の操作ができなくなるため、入力することを推奨。
-p はコンテナのポートをコンテナ外に設定するオプション。ここでは8080が外部に公開するポート番号。
正常に実行された場合、http://localhost:8080/ でnginxが起動していることが確認できる。
查看Docker容器
## 起動中のコンテナの表示
% docker ps
## 起動中、停止しているコンテナの表示
% docker ps -a
dockerコンテナをスタートさせる
## docker start コンテナ名若しくはコンテナID
% docker start static-site
容器的状态变为运行中。
暂停Docker容器。
## docker pause コンテナ名若しくはコンテナID
% docker pause static-site
容器的状态变为暂停。
解除docker容器的暂停状态
## docker unpause コンテナ名若しくはコンテナID
% docker unpause static-site
容器的状态变为running。
重新启动Docker容器。
## docker restart コンテナ名若しくはコンテナID
% docker restart static-site
容器状态经过重启后变为运行中。
删除Docker容器
## docker rm コンテナ名若しくはコンテナID
% docker rm static-site
##
如果不停止容器,就无法删除,所以请注意!
强制删除Docker容器
## docker rm -f コンテナ名若しくはコンテナID
% docker rm -f static-site
当无法删除容器时使用。
docker容器的状态
可以使用docker ps命令或docker inspect命令来查看容器的状态。
created ・・・docker createでコンテナが作られ、start前の状態。docker startでrunningに変わる。
running ・・・コンテナが起動している状態。docker pauseコマンドでpaused、docker stopコマンドでexited、docker restartコマンドでrestartingを経て、runningになる。
paused ・・・一時停止状態で起動中のコンテナに接続したり、リクエストを投げても応答しない。docker unpauseコマンドでrunning状態に戻る。
restarting ・・・コンテナの再起動中で、すぐに再起動するためあまり見ることができない。再起動が終了したらrunningになる。
exited ・・・コンテナが終了し、残り続けている状態。基本的にはここからdocker rmコマンドでコンテナを削除することができる。
dead ・・・コンテナが正常に終了されずに残った場合に表示され。こうなった場合は削除するしかない。
コンテナからイメージを作る
## docker commit コンテナ名若しくはコンテナID イメージ名:タグ名
% docker commit static-site static-site:ver1
可以将容器的状态保存为镜像。但是容器内的操作没有明确的记录,所以通常会在Dockerfile中记录和保留历史记录。
イメージの履歴を確認する
## docker history イメージ名若しくはイメージID
% docker history docker-whale
可以查看有关docker-whale的历史记录。