目录

一、Docker镜像操作

1、搜索镜像:docker search 关键字

2、拉取镜像:docker pull 镜像名称[:tag(标签)]

3、 查看所有镜像:docker images [选项]

4、根据镜像ID号获取镜像详细信息:docker inspect 镜像ID

5、为本地镜像添加新的标签:docker tag 名称 :[标签] 新名称:[新标签]

6、 删除镜像:docker rmi 仓库名称:标签 或者 docker rmi 镜像ID

7、存出镜像和存入镜像

7.1、存出镜像 docker save -o 存贮的文件名 存储的镜像

7.2、导入镜像 docker load < 存出的文件

8、上传镜像 docker push 仓库名称:标签

9、删除本地所有镜像 docker rmi `docker images -q`

二、容器操作

1、容器的创建与启动

1.1、容器的创建: docker creat  [选项] 镜像 运行的程序

1.2、容器的启动:docker start 容器的ID

1.3、创建并启动容器:docker run  [选项] 镜像名 /bin/bash

                  ps: 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 -生成的镜像名称:标签

8、 删除容器: docker rm 容器ID/名称

9、查看版本:docker version 

10、检查当前容器的安装情况(包括镜像数、容器书、多少个物理机节点): docker info

11、容器提交为镜像:docker commit [选项] [容器ID/容器名] [仓库名:标签]

12、查看网络列表:docker network ls

13、自建bridge网络 :docker network creat

14、复制:docker cp 

14.1、把容器内的文件复制到物理机

14.2、把物理机的文件复制到容器中


一、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

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:绝对路径

15、暂停容器中的所有进程:docker pause

16、查看容器中运行的进程信息: docker top

17、显示容器资源的使用情况,包括:CPU、内存、网络 I/O 等

docker stats

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐