-s :显示总的文件大小
发布时间:2025-06-24 18:37:57 作者:北方职教升学中心 阅读量:869
load是两种不同的方法,不能混用。在容器中/home/目录下创建c_test.txt;
4、Docker的常用命令
- 帮助命令:
- docker version #显示docker的版本信息
- docker info #显示docker的系统信息,包括镜像和容器的数量
- docker --help #万能命令,查阅命令详情
- docker具体命令--help # 查看docker命令帮助文档
- 镜像命令:
- docker images [options] #查看所有本地镜像
- Options
- docker search #搜索镜像
- docker search 镜像名 -f 过滤条件 #搜索符合过滤条件的镜像 f=filter 即过滤器。Ubuntu容器直接“exit”退出容器。导入(export、
注:xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。比attach功能更强大(exec使用率较高)- -d:分离模式,即在后台运行命令
- -i:交互模式
- -t:分配一个 tty(终端驱动程序)
- -u:指定用户和用户组,格式:<name|uid>[:<group|gid>]
exec命令进入容器内部就如同进入另一台机器一样,可以灵活操作,并且使用exit命令退出时,不会像attach那样导致容器停止。通过该命令,可以将之前保存的镜像文件重新加载到Docker中。
语法:docker inspect [OPTIONS] NAME|ID [NAME|ID…]
OPTIONS说明:- -f :指定返回值的模板文件。
云计算实验报告
专 业: 数据科学与大数据技术 班 级: 数据Q201
实验1:Docker镜像容器命令测试
实验设备:
OS: Ubuntu/Centos
应用软件:Docker
实验目的:
1.掌握部分镜像与容器命令
2.Docker注册中心的使用与操作
实验内容:
1、 - save 保存(load 加载)的镜像保留镜像的历史,可以回滚到之前的层(layer)。
[root@lh2022 Docker]# docker run -it ubuntu /bin/bashroot@23ba1c7ae31e:/# exitexit[root@lh2022 Docker]# docker ps -aq23ba1c7ae31e
docker start 容器id #启动容器
docker stop 容器id #停止当前正在运行的容器
docker restart 容器id #重启容器
docker kill 容器id #停止当前正在运行的容器
[root@lh2022 Docker]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES23ba1c7ae31e ubuntu "/bin/bash"4minutes ago Exited (0)4minutes ago optimistic_agnesi[root@lh2022 Docker]# docker start 23ba1c7ae31e23ba1c7ae31e[root@lh2022 Docker]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES23ba1c7ae31e ubuntu "/bin/bash"4minutes ago Up 5seconds optimistic_agnesi[root@lh2022 Docker]# docker stop 23ba1c7ae31e23ba1c7ae31e[root@lh2022 Docker]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES[root@lh2022 Docker]# docker restart 23ba1c7ae31e23ba1c7ae31e[root@lh2022 Docker]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES23ba1c7ae31e ubuntu "/bin/bash"5minutes ago Up 1second optimistic_agnesi[root@lh2022 Docker]# docker kill 23ba1c7ae31e23ba1c7ae31e[root@lh2022 Docker]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES[root@lh2022 Docker]#
观察使用命令后的"STATUS "。
例:dockerhistory ubuntu:latest[root@lh2022 Docker]# docker history ubuntu:latest IMAGE CREATED CREATED BY SIZE COMMENTba6acccedd29 2years ago /bin/sh -c#(nop) CMD ["bash"] 0B <missing>2years ago /bin/sh -c#(nop) ADD file:5d68d27cc15a80653… 72.8MB [root@lh2022 Docker]# docker history myubu:v2 IMAGE CREATED CREATED BY SIZE COMMENT4e5c141c83f0 27minutes ago 72.8MB Imported from -[root@lh2022 Docker]# docker history myubuntu:v1 IMAGE CREATED CREATED BY SIZE COMMENTabfa3ff80204 2hours ago bash8B my ubuntu,tag=v1 <missing>2years ago /bin/sh -c#(nop) CMD ["bash"] 0B <missing>2years ago /bin/sh -c#(nop) ADD file:5d68d27cc15a80653… 72.8MB
docker inspect #查看各项详细信息的命令:
获取容器/镜像的元数据。
[root@lh2022 Docker]# docker search --help Usage: dockersearch [OPTIONS]TERMSearch Docker Hub forimagesOptions: -f, --filterfilter Filter output based on conditions provided --formatstring Pretty-print search using a Go template --limitint Max number of search results --no-trunc Don't truncate output
docker search 镜像名 -f 过滤条件 #搜索符合过滤条件的镜像 f=filter 即过滤器。
[root@lh2022 Docker]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES238e629747a4 ubuntu "/bin/bash"45minutes ago Up About a minute ub2[root@lh2022 Docker]# docker exec -it ub2 /bin/bashroot@238e629747a4:/# exitexit[root@lh2022 Docker]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES238e629747a4 ubuntu "/bin/bash"46minutes ago Up 2minutes ub2[root@lh2022 Docker]# docker attach ub2 root@238e629747a4:/# exitexit[root@lh2022 Docker]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES238e629747a4 ubuntu "/bin/bash"46minutes ago Exited (0)3seconds ago ub2[root@lh2022 Docker]#
实现本地镜像的导出、
总结起来,docker load命令用于导入使用docker save命令导出的镜像文件,是将之前保存的镜像重新加载到Docker中的操作。
例:以ub1容器为例
此命令可以查看容器:IP地址、需要注意的是,docker load命令只能导入镜像,无法导入容器。例如,使用以下命令将名为myubuntu:v1的镜像导出为ub100.tar文件:
[root@lh2022 Docker]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEmyubu v2 4e5c141c83f0 21minutes ago 72.8MBmyubuntu v1 abfa3ff80204 2hours ago 72.8MBubuntu latest ba6acccedd29 2years ago 72.8MBcentos latest 5d0da3dc9764 2years ago 231MB[root@lh2022 Docker]# ls2000c_test.txt h_test.txt ub2.tar ubub.tar[root@lh2022 Docker]# docker save -o ub100.tar myubuntu:v1[root@lh2022 Docker]# ls2000c_test.txt h_test.txt ub100.tar ub2.tar ubub.tar[root@lh2022 Docker]#
再删除myubuntu:v1 镜像。
[root@lh2022 Docker]# docker load -i ub100.tar 6914406b2a6b: Loading layer 2.56kB/2.56kBLoaded image: myubuntu:v1[root@lh2022 Docker]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEmyubu v2 4e5c141c83f0 24minutes ago 72.8MBmyubuntu v1 abfa3ff80204 2hours ago 72.8MBubuntu latest ba6acccedd29 2years ago 72.8MBcentos latest 5d0da3dc9764 2years ago 231MB[root@lh2022 Docker]#
再查看镜像发现导入成功。
实验环境:
主机本地/root/Docker下:[root@lh2022 Docker]# pwd/root/Docker[root@lh2022 Docker]# ls2000
进入容器:创建文件后退出容器但不停止(CTRL+P+Q)。
[root@lh2022 Docker]# docker rm $(docker ps -aq)16683ac148d223ba1c7ae31e[root@lh2022 Docker]# docker ps -aq[root@lh2022 Docker]#
docker create #创建容器但不启动的命令
用法同 docker run
通过docker create命令创建容器后,可以使用docker start containerID的方式启动容器。[root@lh2022 Docker]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES238e629747a4 ubuntu "/bin/bash"2hours ago Up 2seconds ub2[root@lh2022 Docker]# docker kill ub2 ub2[root@lh2022 Docker]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES238e629747a4 ubuntu "/bin/bash"2hours ago Exited (137)1second ago ub2[root@lh2022 Docker]#
- docker search 镜像名 -f 过滤条件 #搜索符合过滤条件的镜像 f=filter 即过滤器。Ubuntu容器直接“exit”退出容器。导入(export、