Docker-构建/启停容器镜像及常用命令介绍
1 Dockerfile
将应用打包成镜像前,需要先创建一个Dockerfile的文件,其包含了一系列构建镜像时会执行的指令。
2 构建容器镜像
构建镜像命令:
$ docker build -t image_name .
其中,image_name是镜像名称;
构建镜像过程
1)Docker客户端将整个目录文件(包括Dockerfile)上传到Docker守护进程并运行;
2)在构建过程中,Docker会首次从公开的镜像仓库拉取基础镜像,除非已经拉取过镜像并存储在本机上;(这里涉及到镜像分层的概念)
3)构建完成,新的镜像存储在本地;可通过docker images
命令查看本地镜像。
镜像分层
镜像是由多层组成,不同镜像可能会共享分层,这让存储和传输变得高效。如创建的多个镜像都是基于相同基础镜像,所有组成基础镜像的分层只会被存储一次,拉取镜像时,Docker会独立下载每一层,当一些分层之前下载就已经存储在本机是哪个,则Docker只会下载没有被存储的分层。
3 运行容器镜像
运行容器命令:
$ docker run --name container_name -p 8080:8080 -d image_name
其中container_name为新建容器名称,image_name为镜像名称;-d表示容器和命令行分离,即后台运行;-p表示本机8080端口会映射到容器内的8080端口;
查看运行中容器命令:
$ docker ps
获取容器信息命令:
$ docker inspect container_name
其中container_name为容器名称;
4 容器内部运行
容器内运行shell命令:
$ docker exec -it container_name bash
其中container_name为容器名称;-i表示确保标准输入流保持开放,-t表示分配一个伪终端;可使用exit
命令退出容器返回宿主机。
容器拥有独立的进程树和文件系统;
5 停止和删除容器
停止容器命令:
$ docker stop container_name
其中container_name为容器名称;容器虽然停止,但还是存在,可通过docker ps -a
命令查看所有的容器(包括运行中和已停止的容器)
删除容器命令:
$ docker rm container_name
其中container_name为容器名称;
6 推送镜像
打tag命令:
$ docker tag image_name tag_name
其中image_name为镜像名称,tag_name为标签名称;
推送镜像命令:
$ docker push tag_name
其中tag_name为镜像标签名称;
运行容器:
除了可以使用镜像名称进行运行,也可以使用tag
$ docker run -p 8080:8080 -d tag_name
其中tag_name为镜像标签名称;
删除镜像
$ docker rmi image_id
其中image_name为镜像名称;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)