diff --git a/docs/categories/fragments/2022/10/01/个人常用Docker命令.md b/docs/categories/fragments/2022/10/01/个人常用Docker命令.md new file mode 100644 index 000000000..7a10382ef --- /dev/null +++ b/docs/categories/fragments/2022/10/01/个人常用Docker命令.md @@ -0,0 +1,196 @@ +--- +title: 个人常用Docker命令 +author: 查尔斯 +date: 2022/10/01 22:33 +isTop: true +categories: + - 杂碎逆袭史 +tags: + - Docker +--- + +# 个人常用Docker命令 + +## 镜像相关 + +### 查看本地镜像列表 + +```shell +docker images +``` + +### 从记录中心查询镜像 + +```shell +docker search 镜像关键词 +``` + +### 从记录中心拉取镜像到本地 + +::: warning 笔者说 +如果镜像名称后不指定 **标签/版本** ,则会默认使用最新版本(latest)。 + +例如:docker pull tomcat:8.5.0 拉取的就是 8.5.0 版本的 tomcat 镜像,而 docker pull tomcat -> 拉取的实际是 docker pull tomcat:latest,这个 latest 是跟随记录中心中的最新版本变化的,无法确定当前拉取的是哪一个版本。 +::: + +```shell +docker pull 镜像名称[:标签/版本] +``` + +### 删除本地镜像 + +```shell +# 删除指定镜像 +docker rmi 镜像ID/镜像名称 [镜像ID/镜像名称...] + +# 删除所有镜像 +docker rmi `docker images -q` +``` + +::: tip 笔者说 +`-q` 是 quiet 的意思,加上这个参数后,docker images 输出的就不是镜像详细列表了,而是镜像 ID 列表,通常用于编写脚本时使用。 + +所以,上方删除所有镜像的命令实际是 docker rmi 镜像ID1 镜像ID2... +::: + +### 从 Dockerfile 创建镜像 + +::: warning 笔者说 +如果镜像名称后不指定 **标签/版本** ,则会默认使用最新版本(latest)。 +::: + +```shell +docker build -t 镜像名称[:标签/版本] Dockerfile文件路径 +``` + +### 将本地镜像导出为 tar 文件 + +::: warning 笔者说 +如果镜像名称后不指定 **标签/版本** ,则会默认使用最新版本(latest)。 +::: + +```shell +docker save -o/-output 文件路径.tar 镜像名称[:标签/版本] +``` + +### 从 tar 文件导入为本地镜像 + +```shell +docker load -i/-input 文件路径.tar +``` + +## 容器相关 + +### 查看容器列表 + +```shell +# 查看正在运行的容器 +docker ps + +# 查看全部容器(包含已经停止的) +docker ps -a + +# 模糊查询容器 +docker ps [-a] | grep 容器关键词 +``` + +### 创建容器并运行 + +::: warning 笔者说 +如果镜像名称后不指定 **标签/版本** ,则会默认使用最新版本(latest)。 + +如果本地不存在该版本的镜像,则会先从记录中心拉取到本地。 +::: + +```shell +docker run -d [-p 宿主机端口:容器内部端口] [-v 宿主机目录:容器内部目录] [--network 网络名称 --network-alias 网络别名] --name 容器名称 镜像名称[:标签/版本] +``` + +### 停止容器 + +```shell +# 停止指定容器 +docker stop 容器ID/容器名称 [容器ID/容器名称...] + +# 停止所有容器 +docker stop `docker ps -a -q` +``` + +::: tip 笔者说 +`-q` 是 quiet 的意思,加上这个参数后,docker ps 输出的就不是容器详细列表了,而是容器 ID 列表,通常用于编写脚本时使用。 + +所以,上方停止所有容器的命令实际是 docker stop 容器1ID 容器2ID... +::: + +### 启动容器 + +```shell +docker start 容器ID/容器名称 +``` + +### 删除容器 + +```shell +# 删除指定容器 +docker rm 容器ID/容器名称 [容器ID/容器名称...] + +# 删除所有容器 +docker rm `docker ps -a -q` +``` + +::: tip 笔者说 +`-q` 是 quiet 的意思,加上这个参数后,docker ps 输出的就不是容器详细列表了,而是容器 ID 列表,通常用于编写脚本时使用。 + +所以,上方删除所有容器的命令实际是 docker rm 容器1ID 容器2ID... +::: + +### 进入容器内部 + +```shell +docker exec -it 容器ID/容器名称 /bin/bash + +docker exec -it 容器ID/容器名称 /bin/sh +``` + +### 从容器内部退出 + +```shell +exit +``` + +### 向容器内拷贝文件 + +```shell +docker cp 宿主机内文件路径 容器名称:容器内文件路径 +``` + +### 备份容器为本地镜像 + +::: warning 笔者说 +如果镜像名称后不指定 **标签/版本** ,则会默认使用最新版本(latest)。 +::: + +```shell +docker commit [-a "作者"] [-m "信息"] 容器ID/容器名称 镜像名称[:标签/版本] +``` + +## 网络相关 + +### 查看网络列表 + +```shell +docker network ls +``` + +### 创建bridge网络 + +```shell +docker network create 网络名称 +``` + +### 删除网络 + +```shell +docker network rm 网络ID/网络名称 +``` + diff --git a/docs/index.md b/docs/index.md index 635379af6..a28064148 100644 --- a/docs/index.md +++ b/docs/index.md @@ -25,7 +25,7 @@ features: details: “简单比复杂更难,你必须努力让你的想法变得清晰明了,让它变得简单。一旦你做到了简单,你就能搬动大山。” -- 乔布斯 - icon: 🌌 title: 善于洞察 - details: 我既没有突出的理解力,也没有过人的机智。只在觉察那些稍纵即逝的事物并对其进行精细观察的能力上,我可能在普通人之上。 -- 达尔文 + details: “我既没有突出的理解力,也没有过人的机智。只在觉察那些稍纵即逝的事物并对其进行精细观察的能力上,我可能在普通人之上。” -- 达尔文 - icon: 🌟 title: 乐于分享 details: 关于分享,有形的物品越分越少,无形的知识越分越多。在记录与分享的过程中, 梳理所学, 交流所得, 必有所获。