docker基础

推荐链接

链接目录

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 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>:/容器/路径/文件 /本地/路径/文件

相关推荐

  1. docker基础

    2024-01-24 10:46:04       49 阅读
  2. Docker基础

    2024-01-24 10:46:04       56 阅读
  3. docker基础

    2024-01-24 10:46:04       59 阅读
  4. docker基础

    2024-01-24 10:46:04       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-24 10:46:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-24 10:46:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-24 10:46:04       82 阅读
  4. Python语言-面向对象

    2024-01-24 10:46:04       91 阅读

热门阅读

  1. 正则表达式

    2024-01-24 10:46:04       52 阅读
  2. Git Reset 详解:Soft、Mixed、Hard、Keep 选项

    2024-01-24 10:46:04       54 阅读
  3. 使用 ChatGPT 提升工作效率,我的建议是

    2024-01-24 10:46:04       60 阅读
  4. SASS简介及使用方法

    2024-01-24 10:46:04       54 阅读
  5. Frontend - SASS / SCSS 文件使用

    2024-01-24 10:46:04       65 阅读
  6. 【Go】依赖包管理

    2024-01-24 10:46:04       46 阅读
  7. 回调形式的 Refs 在 React 中的应用

    2024-01-24 10:46:04       55 阅读
  8. 软件工程测试2

    2024-01-24 10:46:04       47 阅读
  9. distinct和group by的功能、使用和底层原理

    2024-01-24 10:46:04       51 阅读
  10. IDEA内置HTTP CLIENT

    2024-01-24 10:46:04       49 阅读
  11. kafka入门(九):kafka分区分配策略

    2024-01-24 10:46:04       48 阅读