docker命令

Docker 命令回顾

docker run 是创建并启动容器的核心命令,常用参数包括 -itd(交互式终端后台运行)、--name(指定容器名称)、-p(端口映射)。例如:

bash 复制代码
docker run -itd --name my_container -p 8080:80 nginx

CMDENTRYPOINT 是 Dockerfile 中定义容器启动行为的指令:

  • CMD 提供默认执行命令,可被 docker run 后的参数覆盖。
  • ENTRYPOINT 指定固定命令,docker run 的参数会追加到其之后。

Docker 网络模式

桥接模式(默认)

  • 通过 docker0 虚拟网桥连接容器与宿主机。

  • 端口映射示例:

    bash 复制代码
    -p 80:8080  # 宿主机80映射到容器8080
    -P          # 随机分配宿主机端口(32768+)

Host 模式

  • 容器直接使用宿主机网络栈,无隔离:

    bash 复制代码
    docker run --net=host nginx

None 模式

  • 容器无网络接口,仅限本地访问:

    bash 复制代码
    docker run --net=none alpine

Container 模式

  • 共享指定容器的网络命名空间:

    bash 复制代码
    docker run --net=container:centos01 centos:yum

持久化与数据卷

数据卷实现容器数据持久化,避免容器删除后数据丢失:

  • 挂载宿主机目录

    bash 复制代码
    docker run -v /host/path:/container/path nginx
  • 匿名卷 (自动创建):

    bash 复制代码
    docker run -v /container/path nginx
  • 命名卷 (推荐管理):

    bash 复制代码
    docker volume create my_volume
    docker run -v my_volume:/container/path nginx

Dockerfile 镜像制作

基础 Dockerfile 示例:

dockerfile 复制代码
FROM centos:yum
RUN yum install -y nginx
COPY index.html /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

关键指令:

  • FROM:基础镜像。
  • RUN:执行安装命令。
  • COPY:复制文件到镜像。
  • EXPOSE:声明容器端口。
  • CMD/ENTRYPOINT:启动命令。

实践任务清单

  1. 命令练习

    • 创建、启动、停止、删除容器。
    • 使用 -p-P 测试端口映射。
  2. 网络模式验证

    • 对比桥接、Host、None 模式的网络差异。
    • 测试 Container 模式的共享网络效果。
  3. 数据卷操作

    • 挂载宿主机目录与命名卷,验证数据持久性。
  4. 镜像构建

    • 编写 Dockerfile 定制 Nginx 镜像,包含自定义页面。
  5. ELK 环境部署

    • 确保虚拟机资源(20G 磁盘 + 足够内存)。
    • 使用 Docker Compose 编排 Elasticsearch、Logstash、Kibana 容器。
相关推荐
Linux-187416 小时前
分布式链路追踪系统之docker-compose安装skywalking
云原生·docker-compose·skywalking·分布式链路追踪系统·应用程序性能监控
隔窗听雨眠21 小时前
Spring Boot在云原生时代的编程范式革新研究
spring boot·后端·云原生
Hui Baby1 天前
K8S使用CRD和控制器简单应用
云原生·容器·kubernetes
阿里云云原生1 天前
从“告警驱动”到“巡检驱动”:Agent 智能体如何实现前端体验治理的闭环?
云原生
AOwhisky1 天前
Python 学习笔记(第十三期)——运维自动化(下·前篇):远程命令执行——paramiko基础篇
运维·python·学习·云原生·自动化·运维开发·paramiko
AOwhisky1 天前
Python 学习笔记(第十四期)——运维自动化(下·中篇):远程文件传输——paramiko进阶篇
运维·python·学习·云原生·自动化·文件传输·paramiko
ShiXZ2131 天前
Redis docker-compose 部署指南
redis·docker·eureka
云烟成雨TD1 天前
Micrometer 系列【2】可观测性:指标(Metrics)
java·云原生·micrometer
运维老郭1 天前
Ubuntu下编译安装Redis:从0到1可用的完整指南
运维·云原生
Linux-18742 天前
分布式链路追踪系统之二进制安装skywalking
elasticsearch·云原生·skywalking·分布式链路追踪系统·应用程序性能监控