目录
2、拉取镜像:docker pull 镜像名称[:tag(标签)]
4、根据镜像ID号获取镜像详细信息:docker inspect 镜像ID
5、为本地镜像添加新的标签:docker tag 名称 :[标签] 新名称:[新标签]
6、 删除镜像:docker rmi 仓库名称:标签 或者 docker rmi 镜像ID
7.1、存出镜像 docker save -o 存贮的文件名 存储的镜像
9、删除本地所有镜像 docker rmi `docker images -q`
1.1、容器的创建: docker creat [选项] 镜像 运行的程序
1.3、创建并启动容器:docker run [选项] 镜像名 /bin/bash
2、查看当前运行状态的容器(当前为UP状态) docker ps
3、查看所有容器的包括正在运行和停止运行的容器 docker ps -a编辑
4、终止容器运行:docker stop/start/restart 容器ID/名称
5、容器的进入 docker exec [选项] 容器ID/名称
6、容器的导出 :docker export 容器ID/名称 > 文件名
7、 容器的导入:cat 文件名 | docker improt -生成的镜像名称:标签
10、检查当前容器的安装情况(包括镜像数、容器书、多少个物理机节点): docker info
11、容器提交为镜像:docker commit [选项] [容器ID/容器名] [仓库名:标签]
13、自建bridge网络 :docker network creat
一、Docker镜像操作
1、搜索镜像:docker search 关键字
例如:搜索关键字为lamp的镜像
2、拉取镜像:docker pull 镜像名称[:tag(标签)]
ps:(加标签和不加标签的区别)①、docker pull redis # 默认下载最新版本
②、docker pull redis:5.0 # 下载指定版本
3、 查看所有镜像:docker images [选项]
选项 | 说明 |
-a | 列出所有镜像 |
-q | 只显示镜像ID |
4、根据镜像ID号获取镜像详细信息:docker inspect 镜像ID
5、为本地镜像添加新的标签:docker tag 名称 :[标签] 新名称:[新标签]
6、 删除镜像:docker rmi 仓库名称:标签 或者 docker rmi 镜像ID
PS:当删除的镜像有标签时,当删除其中之一,并不影响镜像文件,但只剩最后一个镜像的话请慎删,会彻底删除
7、存出镜像和存入镜像
7.1、存出镜像 docker save -o 存贮的文件名 存储的镜像
需要把镜像保存成本地文件,这一过程叫做存出镜像
7.2、导入镜像 docker load < 存出的文件
把上面存出的文件导入到镜像库中,这一过程叫导入
8、上传镜像 docker push 仓库名称:标签
9、删除本地所有镜像 docker rmi `docker images -q`
二、容器操作
1、容器的创建与启动
1.1、容器的创建: docker creat [选项] 镜像 运行的程序
常用选项 | 说明 |
-i | 让容器的输入保持打开 |
-t | 让docker分配一个伪终端 |
例如:创建一个容器nginx
1.2、容器的启动:docker start 容器的ID
1.3、创建并启动容器:docker run [选项] 镜像名 /bin/bash
选项 | 说明 |
-d | 后台运行容器并返回容器ID,即守护式容器 |
-i | 以交互模式运行容器,通常与-t同时使用 |
-t | 为容器重新分配一个伪输入终端 |
-- name | 容器名字 |
-P(大写) | 随机端口映射,容器内部端口随机映射到主机的端口 |
-p(小写) | 指定端口映射,格式:主机(宿主)端口:容器端口 |
--volume,-v | 绑定一个卷 |
例如1:使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx
例如2: 使用镜像nginx:nginx以后台模式启动一个容器,并将容器的80端口映射到主机随机端口
例如3: 使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data
当利用docker run 来创建容器时,docker在后台标准运行过程是这样的:
检查本地是否存在指定的镜像,当镜像不存在时,会从公共仓库下载;如过本地有,直接加载。
ps: docker run [参数] /bin/bash
docker run 包含docker creat和docker start 两条命令的职能
-i:保持容器运行。通常与-t同时使用,加入-it这两个参数之后,容器创建后自动进入容器中,退出容器后,容器自动关闭
-t:为容器分配一个伪终端,通常与-i同时使用
-d:以守护(后台)模式运行容器。创建一个容器在后台运行,需要使用docker exec进入容器。退出后,容器不会关闭
-it 创建的容器一般称为交互式容器(特点: exit退出容器, 容器立马自动关闭)
-id创建的容器一般称为守护式容器(特点: 以守护(后台)模式启动容器, 不会进入容器)
2、查看当前运行状态的容器(当前为UP状态) docker ps
选项 | 说明 |
-a | 显示所有的容器,包括未运行的 |
-q | 只显示运行状态的容器ID号 |
-aq | 显示所有的容器,包括未运行的,只显示他们的容器ID号 |
-s | 显示容器的大小(size) |
3、查看所有容器的包括正在运行和停止运行的容器 docker ps -a![](https://img-blog.csdnimg.cn/9639787e1ae14854ac970cdd0ebce2a9.png)
4、终止容器运行:docker stop/start/restart 容器ID/名称
5、容器的进入 docker exec [选项] 容器ID/名称
-i :表示让容器的输入保持打开,
-t:表示让docker分配一个伪终端
-c:免交互直接在容器内执行命令
使用 docker exec方式进入容器,前提是容器必须是开启状态
6、容器的导出 :docker export 容器ID/名称 > 文件名
用户可以讲任何一台容器从一台机器迁移到另一台机器上:
将创建好的容器——>导出为文件;文件——>导入到其他机器再做处理
7、 容器的导入:cat 文件名 | docker improt -生成的镜像名称:标签
8、 删除容器: docker rm 容器ID/名称
PS : docker rm 容器ID/名称——》可以删除一个禁止的容器
docker rm -f 容器ID/名称——》可以删除一个正在运行的容器
9、查看版本:docker version
[root@zwb_docker ~]# docker version
Client: Docker Engine - Community
Version: 20.10.18
API version: 1.41
Go version: go1.18.6
Git commit: b40c2f6
Built: Thu Sep 8 23:14:08 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.18
API version: 1.41 (minimum version 1.12)
Go version: go1.18.6
Git commit: e42327a
Built: Thu Sep 8 23:12:21 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.8
GitCommit: 9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
主要分为client端和server端:client端指的是命令行;server端指的是内核
10、检查当前容器的安装情况(包括镜像数、容器书、多少个物理机节点): docker info
11、容器提交为镜像:docker commit [选项] [容器ID/容器名] [仓库名:标签]
语法格式:
docker commit [选项] [容器ID或容器名] [仓库名:标签]
选项 | 说明 |
-a | 修改人 |
-m | 备注 |
-c | 使用dockerfile指令来创建镜像 |
-p | 在commit时,将容器暂停 |
例如:将容器ID为9ca35195df5a,保存为新的镜像,并添加提交人的说明信息。
12、查看网络列表:docker network ls
13、自建bridge网络 :docker network creat
14、复制:docker cp
14.1、把容器内的文件复制到物理机
语法格式:docker cp 容器ID:绝对路径 (物理机)绝对路径
14.2、把物理机的文件复制到容器中
语法格式:docker cp (物理机)绝对路径 容器ID:绝对路径