Doker

关于docker

容器创建/启动
创建容器

docker create [-i] [-t] [–rm] [–name] 容器名 [command][arg…]

-i, --interactive: 容器是否和标准输入进行关联
-t, --tty: 创建容器的时候是不是给容器关联虚拟终端
–rm: 容器停止之后是否会自动销毁
–name: 给创建的容器指定一个名字, 如果不指定, 名字是随机生成的

[COMMAND] [ARG…]
启动容器之后, 在容器中执行一个命令
不知道指定什么命令, 指定bash

容器启动

docker start [-a] [-i] 容器名

-a,关联标准输出/标准错误

-i,关联标准输入

暂停/重启容器
暂停

docker pause 容器名/容器ID

取消暂停

docker unpause 容器名/容器ID

重启

docker restart [-t] 容器名/容器ID

-t,延迟重启,默认10s

容器关闭/终止/删除
关闭

docker stop [-t] 容器名/容器ID

终止

docker kill 容器名/容器ID

删除

docker rm -f 容器名/容器ID

批量删除:
docker rm -f $(docker ps -aq)
docker rm. -f `docker ps -aq`

原理:
docker ps -aq: 只显示所有容器的Id
先通过docker ps -aq获取所有的容器id, 然后执行rm 指令,实现批量删除容器

关闭/终止/删除容器
创建并进入容器

docker run -it --name 容器名 镜像名 shell命令

手动进入

以守护进程启动容器
docker run -itd --name 容器名 镜像名 shell命令
进入容器
docker exec -it 容器名/容器ID bash

docker run -p [ip:][hostPort]:[containerPort] redis

使用-p参数 会分配宿主机的端口映射到虚拟机。

IP表示主机的IP地址。

hostPort表示宿主机的端口。

containerPort表示虚拟机的端口。

退出容器

exit

warning:如果在docker run时没有指定-rm,exit之后,需要手动删除容器

容器的日志/详细信息/端口/重命名
查看容器的日志信息

docker logs 容器名/容器ID

查看容器的详细信息

docker inspect 容器名/容器ID

查看容器端口信息

docker port 容器名/容器ID

容器重命名

docker rename 旧容器名 新容器名

基于容器导入/导出镜像(仅是快照,没有镜像存储文件的完整信息)
导入

docker import 要导入的名字(可以自己起名)

cat 要导入的镜像

导出

docker export 容器名/容器ID>要导出的镜像名

查找本机已有镜像

docker images 镜像名

docker image ls 镜像名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cw4fBQq2-1624158446143)(D:\读书人的资料\temp\docker\docker images.jpg)]

REPOSITORY:来源哪个仓库

TAG:镜像标签,(一般是版本信息

IMAGE ID:镜像ID,如果两个相同ID指向的是同一个镜像,知识标签名不同

CREATED:镜像最后更新时间

SIZE:镜像大小,优秀的镜像一般体积较小,推荐使用轻量级alpine版本

搜索镜像

docker search 镜像名称

获取镜像

docker pull 镜像名称(下载远程仓库(如:docker hub)中的镜像)

存储位置

linux:/var/lib/docker

重命名镜像

docker tag 镜像名[:tag] 新镜像名[:tag]

如果镜像被重命名了,通过镜像ID是不能直接删除的(可通过REPOSITORY和TAR删除)

重命名不会重新复制一个镜像,但删除时需要删除两次

删除镜像和容器:

docker rmi 镜像名/镜像ID

如果镜像被重命名了,通过镜像ID是不能直接删除的

如果镜像被重命名了2次,则需要删除两次镜像

docker rm 容器ID

当容器删除失败,我们要先用docker ps查看当前正在运行的容器

当镜像删除失败,我们必须先删除镜像所在的docker

遇到多个相同镜像ID时,删除可能不成功,我们可以根据"REPOSITORY"和"TAR"删除

查看容器

docker ps # 查看当前正在运行的容器

docker ps -a # 查看已退出的容器

导入和导出镜像

warning:export和import导出的是容器的快照,不是镜像本身,也就是说没有layer

快照将丢弃所有的历史记录和元数据信息(即保存容器当前的快照状态),而镜像存储文件有完整的记录

镜像导入(不能对镜像重命名)

docker load [-i] [-q]要导入的镜像文件名

-input,指定导入的文件,代替STDIN

-quiet,精简输出消息

镜像导出

docker save -o 要导出的镜像文件名

导入导出容器快照

docker import [-c] [-m] 文件名

-c,应用docker指令创建镜像

-m,提交时的说明文字

docker expor [-o] 文件名

docker save 保存的是镜像(image),docker export 保存的是容器(container)
docker load 用来载入镜像包,docker import 用来载入容器包,但两者都会恢复为镜像
docker load 不能对载入的镜像重命名,而 docker import 可以为镜像指定新名称
镜像的历史和详细信息

docker history 镜像名/镜像ID

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值