docker pull
用于从远程镜像仓库(比如 Docker Hub)拉取镜像的命令。
基本语法是 docker pull [选项] [镜像名称]:[标签]
。
例如,docker pull nginx:latest
将会从 Docker Hub 拉取名为 nginx
的镜像,使用 latest
标签。如果不指定标签,默认会拉取 latest
标签的镜像。
当然,也可以指定镜像仓库,只需在镜像名称前指定完整的仓库地址(如 docker pull
myregistry.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_image1
和 my_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无法停止容器时。