Docker 镜像命令
Docker 镜像命令
docker pull
docker pull 是一个 Docker 命令,用于从镜像仓库中拉取或者更新指定镜像。
如果没有提供标签,Docker Engine 默认使用:latest标签。
你可以手动指定要拉取的镜像的仓库位置,例如 Docker Hub 或者本地的仓库。
命令使用
假设你想要从 Docker Hub 拉取一个 ubuntu 镜像,你可以使用以下命令:
docker pull ubuntu
这个命令会拉取 ubuntu 镜像的最新版本,因为没有指定标签。如果你想要拉取 ubuntu 镜像的特定版本,比如 18.04,你可以使用以下命令:
docker pull ubuntu:18.04
如果你想要拉取 ubuntu 镜像的所有版本,你可以使用 -a 或者 --all-tags 选项:
docker pull -a ubuntu
如果你想要从本地的仓库或者其他的仓库拉取镜像,你可以在镜像名前面加上仓库地址。例如:
docker pull localhost:5000/ubuntu
docker images
使用 docker images 命令来查看本地主机上已有的镜像的基本信息。
docker images [OPTIONS] [REPOSITORY[:TAG]]
命令使用
这个命令会显示镜像的仓库名,标签,ID,大小等信息。例如:
docker images
如果你想要查看某个特定的镜像,你可以在命令后面加上仓库名或者ID。例如:
docker images ubuntu
docker images 7e0aa2d69a15
查看已有镜像
root@ran:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest ad405c51acf6 13 days ago 544MB
nginx latest 6b3e1257976b 3 months ago 135MB
hello-world latest 46331d942d63 11 months ago 9.14kB
root@ran:~#
docker rmi
删除一个或多个镜像
命令使用
docker rmi [OPTIONS] IMAGE [IMAGE...]
docker rmi 命令是用来删除本地一个或多个 Docker 镜像的。
如果你想删除不再使用的 Docker 对象,你可以用 docker prune 命令。
想要删除指定的镜像 ID 或者标签
用 docker rmi 命令后面跟上你想要删除的镜像 ID 或者标签。
例如,如果你想要删除名为 ubuntu 的镜像,你可以输入
docker rmi ubuntu
如果你想要一次删除多个镜像,你可以用空格隔开它们。
例如,如果你想要删除名为 ubuntu 和 alpine 的镜像,你可以输入
docker rmi ubuntu alpine
请注意,如果一个镜像有多个标签,你需要先删除所有的标签才能删除这个镜像 。
一些例子
docker rmi 7a86f8ffcb25删除指定的镜像 ID。docker rmi ubuntu:18.04删除指定的镜像标签。docker rmi $(docker images -q)删除所有的镜像。docker rmi -f 7a86f8ffcb25强制删除正在运行的容器的镜像。
docker build
从 Dockerfile 构建一个镜像
命令使用
使用 docker build 命令可以根据 Dockerfile 文件来构建镜像。docker build 命令的基本语法如下:
docker build [OPTIONS] PATH | URL | -
其中,
[OPTIONS] 是一些可选的参数,如 -t 指定镜像的名字,-f 显示指定构建镜像的 Dockerfile 文件等;
PATH | URL | - 是指定 Dockerfile 文件所在的路径或者网址,如果是 - 则表示从标准输入读取 Dockerfile 文件。
例如,如果你有一个名为 app.jar 的 SpringBoot 项目,并且在当前目录下有一个名为 Dockerfile 的文件,你可以使用以下命令来构建一个名为 app:1.0 的镜像:
docker build -t app:1.0 .
docker tag
创建一个指向 SOURCE_IMAGE 的 TARGET_IMAGE 标签
命令使用
docker tag 命令用于给镜像打标签,可以将其归入某一仓库。
标签可以帮助你区分不同的镜像版本。
例如,你可以给一个 centos 镜像打上 latest 和 7.9.2009 的标签,表示它是最新的和特定的版本。
使用 docker tag 命令的语法如下:
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
其中,SOURCE_IMAGE 和 TARGET_IMAGE 可以是本地或远程的镜像名,TAG 是可选的参数,表示镜像的标签名。
如果你想把一个镜像推送到私有仓库而不是中央 Docker 仓库,你必须给它打上仓库的主机名和端口(如果需要)。例如:
docker tag httpd:test fedora/httpd:version1.0.test
这样就把本地的 httpd:test 镜像打上了 fedora/httpd:version1.0.test 的标签,然后你就可以用 docker push 命令把它推送到私有仓库了。
docker save
将一个或多个镜像保存到 tar 存档(默认情况下流式传输到 STDOUT)
docker save [OPTIONS] IMAGE [IMAGE...]
示例
docker save -o mysql_5.7.44.tar mysql:5.7.44
docker load
从 tar 存档文件或 STDIN 加载镜像
$ docker load [OPTIONS]
示例
docker load -i xxx.tar
docker load -i mysql_5.7.44.tar
docker login
登录
docker push
修改标签名字
推送到私有仓库
docker search
docker search 命令是用来在 Docker Hub 中搜索可用的镜像。
命令不够直观,建议直接访问 https://hub.docker.com/ 搜索到相关镜像版本信息。

浙公网安备 33010602011771号