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的历史记录。

广告
将在 10 秒后关闭
bannerAds