一、搜索镜像
docker search 想要查询的镜像
搜索镜像(Docker是通过DockerHub建立了一套生态系统,搜索镜像就是在DockerHub上进行)
参数介绍:
参数 | 介绍 |
--automated=true | false | 仅显示自动创建的镜像,默认为否 |
--no-trunc=true | false | 输出信息不截断显示,默认为否 |
-s,--stars=X | 指定仅显示评价为指定星级以上的镜像,默认为0,即输出所有满足条件的镜像 |
二、下载镜像
docker pull <image_name>:<tag>
下载镜像,其中image_name为镜像名称,tag为镜像的版本
参数介绍:
参数 | 介绍 |
-a,--all-tags=true | false | 表示是否获取仓库中的所有镜像,默认为否 |
可以通过Docker查看到镜像下载的目录
查看镜像、容器、数据卷所占用的空间
docker system df
三、列出镜像目录
docker images
列出本地主机中的镜像目录
参数介绍:
参数 | 介绍 |
-a,--all=true | false | 列出所有的镜像文件(包含临时文件),默认为否 |
--digests=true | false | 列出镜像的数字摘要值,默认为否 |
-f,--filter=[] | 过滤列出的镜像,如dangling=true只显示没有被使用的镜像,也可指定带有特定标注的镜像等 |
--format="TEMPLATE" | 控制输出格式,如.ID代表ID信息,.Repository代表仓库信息等 |
--no-trunc=true | false | 对输出结果中太长的部分是否进行截断,如镜像的ID信息,默认为是 |
-q,--quiet=true | false | 仅输出ID信息,默认为否 |
四、创建容器
docker run -i -t --name <container_name> <image_name> /bin/bash
1、参数参数-t让Docker分配一个伪终端并绑定在容器的标准输入上,-i让容器的标准输入保持打开
2、--name <container_name>为设定容器名称,如果不设定docker会自定义一个容器名称
3、<image_name>为镜像名称
4、/bin/bash为启动一个bash交互终端
可以看到直接切换到容器当中,是一个bash交互的伪终端,可以通过exit退出docker容器
以下是docker run参数介绍:
-a stdin:指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d:后台运行容器,并返回容器ID;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb":为容器指定一个名称;
--dns 8.8.8.8:指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com:指定容器DNS搜索域名,默认和宿主一致;
-h "mars":指定容器的hostname;
-e username="ritchie":设置环境变量;
--env-file=[]:从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2":绑定容器到指定CPU运行;
-m:设置容器使用内存最大值;
--net="bridge":指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]:添加链接到另一个容器,可以使得该容器与其他容器可以进行网络访问;
--expose=[]:开放一个端口或一组端口;
以下是详细参数介绍:
五、查看容器状态
docker ps -a 查看本地创建的容器列表以及容器状态,可以看到状态是exited退出状态
六、启动容器
docker start <container_name>
可以通过docker ps查看容器,可以看到状态为UP开启
七、重启容器
docker restart <container_name>
八、停止容器
docker stop <container_name>
通过docker ps可以看到容器信息不存在,则表示容器被停止了
九、获取容器的Root权限
docker exec -ti -u root <container_name> bash
十、查看容器的环境变量
docker exec -it <container_name> env