Docker 入门-常用命令_使用流程

docker pull

用于从远程镜像仓库(比如 Docker Hub)拉取镜像的命令。

基本语法是 docker pull [选项] [镜像名称]:[标签]

例如,docker pull nginx:latest 将会从 Docker Hub 拉取名为 nginx 的镜像,使用 latest 标签。如果不指定标签,默认会拉取 latest 标签的镜像。

当然,也可以指定镜像仓库,只需在镜像名称前指定完整的仓库地址(如 docker pullmyregistry.com/myimage:tag

docker images

用于列出本地系统中已经下载(或构建)的镜像的命令。

docker rmi

用于删除本地系统中一个或多个镜像的命令。

基本语法是 docker rmi [选项] <镜像1> [<镜像2> ...],用于删除指定的一个或多个镜像。

例如,docker rmi my_image 将会删除名为 my_image 的镜像。

-f 强制删除,有时候镜像正在被某个容器使用,默认情况下是无法删除的。此时可以添加 -f 强制删除。

docker build

用于构建 Docker 镜像的命令。

用于根据一个 Dockerfile 构建镜像。基本语法是 docker build [选项] <上下文路径>

<上下文路径>是包含 Dockerfile 文件的目录路径。

使用 -t 参数可以为构建的镜像添加标签。比如 docker build -t my_image:latest . 将会构建一个名为 my_image 的镜像,并将其标记为 latest 版本。

docker save

用于将一个或多个镜像保存为一个或多个 tar 归档文件的命令。这些归档文件可以用于在其他机器上使用 docker load 命令来加载镜像。

基本语法是 docker save [选项] <镜像1> [<镜像2> ...] -o <输出文件>

例如,docker save -o my_images.tar my_image1 my_image2 将会保存名为 my_image1my_image2 的镜像为一个名为 my_images.tar 的归档文件。

-o, --output:指定输出文件的路径和名称。

dokcer load

用于加载一个或多个 Docker 镜像的命令,它从一个或多个 tar 归档文件中读取镜像,并将这些镜像加载到 Docker 环境中。

基本语法是 docker load -i <输入文件>

例如,docker load -i my_images.tar 将会加载名为 my_images.tar 的归档文件中包含的镜像到本地 Docker 环境中。

-i, --input 参数指定了要加载的归档文件的路径和名称。

docker push

用于将本地镜像推送(上传)到远程镜像仓库的命令,通常是推送到像 Docker Hub 这样的公共或私有镜像仓库。

基本语法是 docker push [选项] <远程镜像名>

例如,docker push my_registry/my_image:tag 将会将名为 my_image 的镜像推送到指定的远程镜像仓库(比如 Docker Hub)下的 my_registry 命名空间,并标记为 tag 版本。

docker run

用于创建并启动一个新容器的命令。

docker run [选项] <镜像名> [命令] [参数]

例如,docker run my_image 将会从名为 my_image 的镜像创建一个新的容器并运行。

docker run -d \
    --name mysql \
    -p 3306:3306 \
    -e TZ=Asia/Shanghai \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -v /my/own/datadir:/var/lib/mysql \
    mysql:5.7

-d:后台运行

--name: 为容器设置一个名字

-p:将容器内部的端口映射到宿主机的端口

-e:在容器内添加环境变量

-v:挂载宿主机上的目录到容器中。

mysql:5.7:镜像名称

docker stop

用于停止运行中的 Docker 容器。它会发送一个信号给容器,让容器执行清理操作并停止运行中的应用程序。

基本语法: docker stop [选项] <容器ID或名称>

例如,docker stop my_container 将会停止名为 my_container 的容器。

docker start

用于启动已经停止的 Docker 容器,使其重新运行。

基本语法: docker start [选项] <容器ID或名称>

例如,docker start my_container 将会启动名为 my_container 的已停止容器。

PS:docker run 为创建并启动(每次执行都会创建一个新的容器);docker start xxx 只是启动 xxx 容器

docker ps

用于列出正在运行的 Docker 容器。

基本语法: docker ps [选项]

例如,docker ps -a 将列出当前正在运行的容器列表。

-a, --all:显示所有的容器,包括运行中的和已经停止的。

--format "table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Status}}\t{{.CreatedAt}}\t{{.Ports}}" 指定实处那些字段

常用: docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Image}}\t{{.Status}}"

docker rm

用于删除一个或多个已经停止的容器。

基本语法: docker rm [选项] <容器ID或名称>

例如,docker rm my_container 将会删除名为 my_container 的容器。

-f, --force:强制删除正在运行的容器,即使容器正在运行中也会被删除。

-v, --volumes:删除与容器关联的卷。

docker logs

用于查看 Docker 容器的日志输出,允许用户实时查看容器内应用程序的日志信息。

基本语法: docker logs [选项] <容器ID或名称>

例如,docker logs my_container 将会显示名为 my_container 的容器的日志输出。

-f, --follow:实时跟踪容器的日志输出,类似于 tail -f 命令的功能。

日志来自容器的标准输出流,但是不包含 -it 交互模式下的输出。

docker exec

用于在运行中的 Docker 容器内部执行命令。这个命令允许用户与正在运行的容器进行交互,并在容器内部执行特定的命令。

基本语法: docker exec [选项] <容器ID或名称> <要执行的命令>

例如,docker exec my_container ls /app 将会在名为 my_container 的容器内执行 ls /app 命令。

-i, --interactive:保持命令执行的交互式连接。

-t, --tty:分配一个伪终端。

常用:docker exec -it my_container bash

docker kill

用于强制停止运行中的 Docker 容器,相当于向容器发送一个强制终止的信号。

docker stop不同,docker kill 默认发送 SIGKILL(强制终止)信号立即终止容器。用于stop无法停止容器时。