您现在的位置是:首页 >技术教程 >Docker笔记(2025.2.7)网站首页技术教程
Docker笔记(2025.2.7)
Dockerfile(自动化脚本)
用来创建image镜像的脚本
image(镜像)
主要包含需要部署的操作系统 环境变量 软件 依赖库,可由镜像创建多个container容器
container(容器)
由镜像创建的容器,提供软件运行环境,且容器间不互相干扰
关系:dockerfile > image > container
创建顺序
编写Dockefile(自动化脚本)
#用于构建镜像
FROM 镜像 #指明要安装的操作系统 软件等
WORKDIR 工作路径 #指明docker命令执行时候的工作路径
COPY 本地路径 目标路径 #将要部署的软件等拷贝到工作路径中 ,注意为Dockerfile当前目录下
RUN 命令 #注意!此为创建镜像时运行的shell命令
#至此完成docker镜像创建步骤
CMD [可执行文件,参数] #注意!此为容器运行后执行的命令
关于CMD与RUN命令
#过多的RUN命令会使镜像囊肿,可同时运行多条命令精简命令
#注意,Dockerfile中存在多个CMD指令,仅最后一个生效,CMD命令运行结束后,容器随之停运
通过Dockerfile构建镜像
docker build -t 镜像名 Dockerfile当前目录
#指明Dockerfile所在目录,并通过Dockerfile创建镜像
创建container并启动(设置端口号)
docker run -p 本地端口:容器端口 -d 镜像名
#-p设置容器端口映射到本地端口
-d 后台运行
-name命名容器
-it建立终端通信
#建立终端通信后按 ctrl+d 或 exit 退出
volume数据卷(容器共享文件夹)
数据卷可看作多个容器共享的文件夹
其中一个容器数据被删或被修改
其数据可保留在数据卷中并于其他容器同步
创建 docker volume create
删除 docker volume rm
删除未使用 docker volume prune
展示所有 docker volume ls
展示详细 docker volume inspect
创建容器并挂载数据卷
(注意无端口号)
docker run -v /var/lib/docker/(volume名) 镜像名或id
#注意,没有创建volmne也可以强行挂载自己指定的路径,或docker自动创建
docker网络
(容器交流的网络)
一旦构建,容器间就可互相交流
创建网络 docker network create -d 网络类型 网名
#-d 指定网络类型:bridge overlay
创建容器并联网 docker run --network 网名
容器联网 docker network connect 网名 容器id
容器断网 docker network disconnect 网名 容器 id
镜像命令
展示镜像 docker images
查找镜像 docker search
拉取镜像 docker pull
删除镜像 docker rmi
导入和导出镜像
docker save 镜像id -o 保存位置以及名字
#镜像导出为tar文件
docker load -i 镜像保存位置
#加载tar文件
容器命令
列举容器 docker ps
#-a 显示包括停止的容器
启动容器 docker start
停止容器 docker stop
重启容器 docker restart
删除容器 docker rm
重命名容器 docker rename
查看端口绑定情况 docker port
在运行的容器中执行命令 docker exec
#-it建立终端通信
导入和导出容器(将作为images出现)
docker export 容器id >tar文件
#将容器导出为tar文件
docker import tar文件
#加载tar文件