docker学习之镜像命令+容器命令

镜像

docker images 列出本地镜像

-a 所有镜像

-q只显示镜像ID

docker search +镜像名 搜索远程仓库是否包含该镜像

--limt 只列出25个镜像

docker pull +镜像名字:TAG 从远程仓库下载镜像

docker system df 查看镜像容器数据卷所占的空间

docker rmi +镜像名字或者imageid 删除镜像

-f 强制删除

什么是虚悬镜像?

就是仓库和标签都是<none> 的镜像

这些镜像原本是有镜像名和标签的,随着官方镜像维护,发布了新版本后,重新 docker pull时,这个镜像名被转移到了新下载的镜像身上,而旧的镜像上的这个名称则被取消,从而成为了<none> 。除了 docker pull 可能导致这种情况,docker build 也同样可以导致这种现象。由于新旧镜像同名,旧镜像名称被取消,从而出现仓库名、标签均为<none>的镜像。这类无标签镜像也被称为虚悬镜像(dangling image)

容器

新建+启动容器

docker run

--name='容器新名字'

-d 启动守护式容器 (后台运行)

-i -t 启动前台交互式终端

-P 随机端口映射

-p 指定端口映射

宿主机端口:容器端口

docker run -p 8000:80 -it ubuntu /bin/bash

将容器的80端口映射到宿主机的8000端口上。

docker ps 查看所有正运行的容器实例

-a 历史所有

-l 最近的

-n 最近n个

-q 只列出容器id

退出容器

1> exit 如果是run进去容器的 则这种方式容器停止

2> ctrl+p+q 容器不停止

启动已停容器

docker start 启动

docker restart 重启

docker stop 停止

docker kill 强停

docker rm 删除

不是所有的容器都可以后台运行,比如Ubuntu 如果没有前台进程容器会立刻自杀,这是基于docker特性的

docker logs 容器id 查看容器日志

docker top 查看容器内部进程

docker inspect 查看内部运行细节 

docker exec 和docker attach 都是进入容器

两者的区别在于 exec 进入后时启动新的进程 exit 退出后不会停止容器,而attach没有启动新进程,所以exit会使容器停止,生产上一般用exec

docker cp 容器ID:容器文件路径 本机路径   拷贝容器内文件到宿主机

docker export 容器ID > 文件名.tar 镜像归档成文件

-o :将输入内容写到文件。

cat 文件名字.tar |  docker import  镜像用户/镜像名称:版本号 从归档文件中创建镜像

posted @ 2022-04-14 17:20  wangao96  阅读(64)  评论(0编辑  收藏  举报