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 容器。
相关推荐
ByNotD0g1 小时前
Golang开发项目学习
学习·微服务·云原生·golang
退役小学生呀1 小时前
二十五、基于ArgoCD的K8s多集群管理方案及落地
运维·云原生·容器·kubernetes·devops
刘一说2 小时前
Nacos 配置加载优先级详解:Spring Cloud Alibaba 微服务配置管理的核心机制
微服务·云原生·架构
leo__5202 小时前
在Kubernetes环境中引用变量的方法
云原生·容器·kubernetes
小七有话说2 小时前
【前瞻创想】开源项目的成功之路:从Kurator的崛起看云原生社区运营之道
云原生·开源·社区·kurator
A达峰绮2 小时前
从“运维技术”到“一键编排”,与Kurator在分布式云原生开源项目的实战经验
运维·分布式·云原生
武子康2 小时前
AI研究-134 Java 2025:会衰退吗?LTS 路线、云原生与工程化落地趋势研究
java·开发语言·人工智能·python·ai·云原生·k8s
❥ღ Komo·12 小时前
K8s集群搭建全流程详解
云原生·容器·kubernetes
debug骑士14 小时前
智能物流背景下基于 Python 构建高效仓储与配送调度系统的架构设计与工程实践经验分享
eureka