docker命令

Docker 命令回顾

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

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

CMD 与 ENTRYPOINT 是 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 容器。
相关推荐
孙克旭_9 小时前
云原生基础之Containerd容器运行时
运维·云原生
分布式存储与RustFS9 小时前
RustFS 自建对象存储实战目录:110 篇按场景分类(持续更新)
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
无人生还别怕1 天前
如何搭建docker仓库(轻量级)registry
linux·运维·docker·云原生·容器·registry·openanolisos
分布式存储与RustFS1 天前
Hudi 表想摆脱 HDFS 绑定?用 Spark + Hudi 直接写进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
逐流人1 天前
DevOps 入门实战(一):从 CI/CD 概念到 Jenkins 自动构建部署
运维·云原生·云计算·jenkins·devops
阿里云云原生2 天前
让复杂任务由团队完成:阿里云 AgentCore 多 Agent 协作架构及实践
云原生
YYYing.2 天前
【K8s系列 (一) 】Docker与容器(上篇)
docker·云原生·容器·kubernetes
阿里云云原生2 天前
阿里云可观测 2026 年 10 月产品动态
云原生
阿里云云原生2 天前
用 Nacos 3.3.0 ARD 让 Agent 按任务发现工具和 Skill
云原生
分布式存储与RustFS2 天前
给 RustFS 桶加一层内存缓存:用 Alluxio 让热数据少跑一遍网络
运维·云原生·开源·对象存储·分布式存储·s3·性能基准