Day21_Docker

本文深入介绍了Docker的基础知识,包括Docker容器、镜像、与虚拟机的区别,以及Dockerfile中的关键指令。还讨论了Docker的常用命令,容器状态管理,Docker Swarm集群服务,并提供了数据拷贝、容器启动和管理的示例。此外,提到了监控Docker运行状态的方法和处理孤儿卷的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

快速记忆

docker命令

1、镜像命令
我可以从远程仓库里面搜索镜像(docker search)然后下载到本地(docker pull)然后列出本地所有的镜像(docker images),本地镜像多了可以删除多余的镜像(docker rmi)

2、容器命令
我可以运行某个镜像(docker run),镜像运行起来就是容器了,然后列出所有容器(docker ps ),查看某个容器的日志(docker logs),查看某个容器内的细节(docker inspect),可以把容器内的东西拷贝到宿主机(docker cp),然后可以停掉某个容器(docker stop),可以删除某个容器(docker rm)

3、容器命令—交互式和守护式
交互式容器允许用户直接进入容器内部执行命令;而守护式容器则在后台运行。

交互式:使用docker run -it 镜像ID/镜像名命令来创建和启动交互式容器。
守护式:使用docker run -d 镜像ID/镜像名命令来创建和启动守护式容器。
如果需要与守护式容器进行交互,可以使用docker exec -it 容器ID /bin/bash命令进入容器。


docker cp命令

在这里插入图片描述
在这里插入图片描述

docker数据卷

1)docker run -it -v /宿主机绝对路径目录:/容器内绝对路径目录 镜像名

  • 解释:-v中的v是volumn的缩写。
  • 这个命令的含义就是将宿主机的某个目录容器内的某个目录进行关联,有了这层关联以后某一处发生了更改另一处也会发生一模一样的更改。
  • 进一步,当你把容器停掉,对主机内的该目录进行修改,然后再次启动容器,容器内和宿主机关联的目录会同步更新吗?会的,所以很安全。

2)dockerFile的方式添加数据卷

在这里插入图片描述

在这里插入图片描述

DockerFile

Docker镜像是Docker容器的源代码,DockerFile是镜像的源码。

编写Dockerfile文件 -> docker build —> docker run

DockerFile的保留字

FROM+基础镜像,表示当前镜像是基于哪个镜像的,FROM scratch其中scratch是所有镜像的祖先类

RUN+容器构建时需要运动的命令

EXPOSE+端口号,表示该镜像变成实例对外启动以后暴露的端口号

WORKER+目录,表示启动该容器后你的落脚点就是该目录,"WORKER /"表示你登录该镜像后就是默认在根目录下

ENV MY_PATH /usr/mytest就是说$MY_PATH就是/usr/mytest
那么你可以在其它指令中直接使用这些环境变量,比如:WORKDIR $MY_PATH

COPY指令能够将主机本地的文件或目录,复制到镜像文件系统。

ADD指令不仅能够将主机本地的文件或目录,而且能够将远程URL所对应的文件或目录,作为资源复制到镜像文件系统。
ADD会自动处理URL和解压tar压缩包,可以认为ADD是增强版的COPY。

CMD+命令,指定一个容器启动时要运行的命令
ENTRYPOINT+命令,和CMD一样都是指定一个容器启动时要运行的命令
注意:DockerFile中可以有很多个CMD命令,但是只有最后一个生效,最后一个会把之前的都覆盖;而ENTRYPOINT相当于追加

一、Docker命令

1、镜像命令

我可以从远程仓库里面搜索镜像(docker search)然后下载到本地(docker pull)然后列出本地所有的镜像(docker images),本地镜像多了可以删除多余的镜像(docker rmi)

(1)docker images 列出所有镜像
docker images -a 列出本地所有的镜像
docker images -q 列出本地所有的镜像且只显示镜像ID

(2)docker search 搜索镜像
docker search tomcat 搜索dockerhub上面的所有tomcat镜像

(3)docker pull 下载镜像
docker pull tomcat:3.2 下载镜像tomcat:3.2

(4)docker rmi -f 删除镜像
docker rmi -f nginx redis 删除nginx和redis镜像
docker rmi -f ${docker images -qa} 删除本地所有镜像

2、容器命令

我可以运行某个镜像(docker run),镜像运行起来就是容器了,然后列出所有容器(docker ps ),查看某个容器的日志(docker logs),查看某个容器内的细节(docker inspect),可以把容器内的东西拷贝到宿主机(docker cp),然后可以停掉某个容器(docker stop),可以删除某个容器(docker rm)

交互式和守护式

交互式容器允许用户直接进入容器内部执行命令;而守护式容器则在后台运行。

交互式:使用docker run -it 镜像ID/镜像名命令来创建和启动交互式容器。
守护式:使用docker run -d 镜像ID/镜像名命令来创建和启动守护式容器。
如果需要与守护式容器进行交互,可以使用docker exec -it 容器ID /bin/bash命令进入容器。

1、运行容器—交互式

docker run -it 镜像ID/镜像名

在这里插入图片描述

docker run -it进入容器后想退出怎么办?
Ctrl+P+Q会退出容器且不停止容器,输入exit会停止并退出容器

2、运行容器—守护式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BlackTurn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值