当前位置: 首页 > news >正文

Docker 的数据管理 网络通信

目录

1.管理容器数据的方式

          数据卷

          数据卷的容器

2.操作命令

3.Docker 镜像的创建


1.管理容器数据的方式

          数据卷

                可以独立于容器生命周期存储的机制 可提供持久化 数据共享

                docker run -v /var/www:/data1 --name web1 -it centos:7 /bin/bash

          数据卷的容器

                用来提供持久化数据或共享文件存储的容器

                docker run --name web2 -v /data1 -v /data2 -it centos:7 /bin/bash        创建一个容器作为数据卷容器

                docker run -it --volumes-from web2 --name web3 centos:7 /bin/bash        使用 --volumes-from 来挂载 web2 容器中的数据卷到新的容器

2.操作命令

        端口映射        例

                docker run -d --name test1 -P nginx                        随机映射

                docker run -d --name test2 -p 43000:80 nginx        指定映射端口

        容器互联

                创建并运行源容器取名web1        

                        docker run -itd -P --name web1 centos:7 /bin/bash

                创建并运行接收容器取名web2 使用--link选项指定连接容器以实现容器互联

                        docker run -itd -P --name web2 --link web1:web1 centos:7 /bin/bash

                进web2 容器 ping web1

                        docker exec -it web2 bash
                        ping web1

3.Docker 镜像的创建

        基于现有镜像

        基于本地模板

        基于dockerfile 

                dockerfile操作常用的指令

        FROM 镜像        指定新镜像所基于的基础镜像,第一条指令必须为FROM 指令,每创建一个镜像就需要一条 FROM 指令

        MAINTAINER 名字        说明新镜像的维护人信息

        RUN 命令        在所基于的镜像上执行命令,并提交到新的镜像中

        ENTRYPOINT ["要运行的程序", "参数 1", "参数 2"]                

                设定容器启动时第一个运行的命令及其参数。
                可以通过使用命令docker run --entrypoint 来覆盖镜像中的ENTRYPOINT指令的内容。

                ENTRYPOINT ["rm", "-rf", "/*"]

        CMD ["要运行的程序", "参数1", "参数2"] 

                上面的是exec形式,shell形式:CMD 命令 参数1 参数2
                启动容器时默认执行的命令或者脚本,Dockerfile只能有一条CMD命令。如果指定多条命令,只执行最后一条命令。
                如果在docker run时指定了命令或者镜像中有ENTRYPOINT,那么CMD就会被覆盖。
                CMD 可以为 ENTRYPOINT 指令提供默认参数。

                ENTRYPOINT ["rm"]
                CMD ["cp" ,"-rf",“*”]

                java -jar    xxxxxxx.jar  8090

                        ###  docker run指定的命令>ENTRYPOINT>CMD

        EXPOSE 端口号        指定新镜像加载到 Docker 时要开启的端口  EXPOSE 8090

        ENV 环境变量 变量值        设置一个环境变量的值,会被后面的 RUN 使用
                                                                linxu PATH=$PATH:/opt
                                                                ENV PATH $PATH:/opt

        ADD 源文件/目录 目标文件/目录        将源文件复制到镜像中,源文件要与 Dockerfile 位于相

                                                                   同目录中,或者是一个 URL 

        COPY 源文件/目录 目标文件/目录

                                        只复制本地主机上的文件/目录复制到目标地点,源文件/目录要与

                                        Dockerfile 在相同的目录中

        VOLUME [“目录”]           在容器中创建一个挂载点

        USER 用户名/UID          指定运行容器时的用户

        WORKDIR 路径   /home                为后续的 RUN、CMD、ENTRYPOINT 指定工作目录

        ONBUILD 命令                指定所生成的镜像作为一个基础镜像时所要运行的命令

        HEALTHCHECK                健康检查

http://www.lryc.cn/news/135552.html

相关文章:

  • 目标检测YOLO实战应用案例100讲-基于孤立森林算法的高光谱遥感图像异常目标检测
  • excel中两列数据生成折线图
  • JS加密的域名锁定功能,JShaman支持泛域名
  • 概率论与数理统计:第七章:参数估计 第八章:假设检验
  • 【Kubernetes】Kubernetes的监控工具Promethues
  • 【linux】2 Linux编译器-gcc/g++和Linux调试器-gdb
  • 【力扣每日一题】2023.8.17 切披萨的方案数
  • Linux调试器-gdb使用
  • linux安装mysql错误处理
  • Matlab绘制灰度直方图
  • http学习笔记1
  • PDF文件分割合并
  • 物联网无线通信方式总结
  • 计算机竞赛 python的搜索引擎系统设计与实现
  • ue5 场景搭建和灯光照明参考
  • Mycat跨分片Join指南
  • 网络:RIP协议
  • 如何优化因为高亮造成的大文本(大字段)检索缓慢问题
  • HTML <table> 标签
  • ubuntu pdf阅读器okular
  • 根据源码,模拟实现 RabbitMQ - 虚拟主机 + Consume设计 (7)
  • docker中bridge、host、container、none四种网络模式简介
  • 排序算法之详解冒泡排序
  • el-upload组件调用后端接口上传文件实践
  • 深度学习-实验1
  • 互联网医院开发|医院叫号系统提升就医效率
  • 手写 Mybatis-plus 基础架构(工厂模式+ Jdk 动态代理统一生成代理 Mapper)
  • 【C++11算法】iota算法
  • 付费加密音乐格式转换Mp3、Flac工具
  • React前端开发架构:构建现代响应式用户界面