docker基础

推荐链接

链接目录

创建镜像与对应容器

//创建镜像
docker build -t <image_name> -f <dockerfile_path> .
//docker build -t mycentos7 -f Dockerfile.centos7 .
//<image_name> 替换为你给镜像起的名称
//<dockerfile_path> 替换为你要使用的 Dockerfile 的名称
//注意最后面的 . 这个代表当前路径
//-t 参数用于指定要为构建的镜像设置的标签(tag)。标签是用于标识和区分不同版本或变体的镜像的可选名称。通过使用 -t 参数,你可以为镜像指定一个易于识别和管理的名称
//-f 参数用于指定要使用的 Dockerfile 文件的路径。通过 -f 参数,你可以告诉 Docker 构建命令要使用不同于默认的文件名和路径的 Dockerfile。

//创建容器
docker run -p <host_port_1>:<container_port_1> -p <host_port_2>:<container_port_2> -v /host/data:/container/data  --name <container_name> <image_name>
//docker run -p 8081:80 -v D:\wamp64\www:/var/www/html --name php8.1 php8.1:latest
//<host_port_1>:宿主机端口,<container_port_1> :容器端口
//-v /宿主机路径:/容器内路径。/host/data:宿主机路径,/container/data:容器路径
//注意:-v D:\wamp64\www:/var/www/html:cached
//在配置容器时,使用 :cached 选项可以改善容器与宿主机之间的文件系统性能。当你在 Windows 上使用 Docker,并且将容器与宿主机的文件共享时,使用 :cached 可以提高文件的读取速度。
//<image_name> 替换为之前生成的镜像的名称。
//-p 参数用于将容器的端口映射到主机的端口。它的格式是 <host_port>:<container_port>,其中 <host_port> 是主机上的端口号,<container_port> 是容器内部的端口号。通过使用 -p 参数,你可以将容器的特定端口与主机上的端口进行绑定,从而使得主机可以通过绑定的端口访问容器内部的服务。
//-v 可以将主机目录挂载到容器内,实现二者数据同步
//--name 参数用于为容器指定一个特定的名称。通过使用 --name 参数,你可以为容器设置一个易于识别和管理的名称,以便在后续的 Docker 命令中引用该容器。这对于管理多个容器或在容器之间进行通信非常有用。

通过Docker Compose 创建容器

//-d 标志用于以「守护进程」模式运行容器,使其在后台运行。如果不使用 -d 标志,容器将在终端中运行,并显示容器的输出日志。
docker-compose up -d

//Docker Compose 文件不是默认的 docker-compose.yml 或 docker-compose.yaml,请使用 -f 或 --file 选项指定文件名:
docker-compose -f my-docker-compose.yml up -d

//如果是使用Docker Compose 进行构建容器
//删除PHP容器后可以,重新构建 php 服务:使用以下命令重新构建 php 服务。这将读取 Docker Compose 文件中的配置,并重新构建 php 容器。
docker-compose up -d php

启动容器

//启动容器
docker start 容器ID或名称
//打开终端
docker exec -it 容器ID或名称 bash
docker exec -it 容器ID或名称 /bin/bash
docker exec -it 容器ID或名称 sh 

//退出容器
exit或者 Ctrl + D
//停止但不删除容器
docker stop 容器ID或名称

修改镜像和容器名称(重新打标签)

//根据原有的镜像去创建新的镜像,镜像的ID都一样
docker tag <镜像ID> <新镜像名称>:<新标签>
docker tag <旧镜像名称>:<旧标签> <新镜像名称>:<新标签>


//容器
docker rename <容器ID> <新容器名称>
docker rename <旧容器名称> <新容器名称>

将容器封装成镜像和tar包

//将现有的容器封装成镜像
//注意:当使用 docker commit 命令将容器转换为镜像时,容器中的端口绑定和网络配置将不会直接转移到新的镜像中。docker commit 只会将当前容器的文件系统状态保存为镜像,并不包括容器的网络配置。
-a, --author:设置新镜像的作者信息。
-c, --change:应用 Dockerfile 指令(如 ENV, CMD, EXPOSE, VOLUME 等)。
-m, --message:添加一条提交消息,用于描述镜像的变更。
-p, --pause:在提交时暂停容器的运行状态。(最好在封装之前就去手动停止容器,不要过于相信命令)

docker commit -a "名称" -m "注释" [容器ID或容器名称] [新镜像名称]


//Docker 镜像,压缩成 tar 归档文件。
//注意:命令中的 -o 选项后应指定一个文件路径,而不是一个文件夹路径。因此,你需要指定一个文件名作为目标文件,而不仅仅是文件夹路径。
docker save -o <输出文件路径> <镜像名称>
docker save -o D:\DockerImages\php.tar php

将tar文件解压成镜像

//这将加载归档文件中的镜像,并使用其原有的名称和标签。
//如果本地已经存在同名镜像,它将会被覆盖。
docker load -i <归档文件路径>.tar

//根据原有的镜像名称和标签创建一个新的镜像名称(重新打名称标签)
docker tag <镜像ID> <新镜像名称>:<新标签>

拷贝数据

//拷贝数据
//文件从本地系统复制到容器
docker cp /本地/路径/文件 <容器名称或容器ID>:/容器/路径/文件

//文件从容器复制到本地系统
docker cp <容器名称或容器ID>:/容器/路径/文件 /本地/路径/文件
  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值