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

启动docker容器的几种方法和注意事项(docker-compose,dockerfile)

1:要启动容器必须都先创建好镜像文件

C:\Users\dell>docker images
REPOSITORY   TAG        IMAGE ID       CREATED       SIZE
poi          1.0        22738bb31074   4 hours ago   105MB
redis        latest     506734eb5e71   6 days ago    138MB
nginx        latest     eea7b3dcba7e   7 days ago    187MB
mysql        8.0        5761fe35fa53   13 days ago   577MB
openjdk      8-alpine   a3562aa0b991   4 years ago   105MBC:\Users\dell>

2:docker -compse启动容器

version: '2'
services:compose-redis:image: redisports:- "6379:6379"restart: alwayscontainer_name: compose-redis
#    command: redis-server  --appendonly yesvolumes:- ./redis.conf:/etc/redis/redis.confcompose-mysql:image: mysql:8.0container_name: compose-mysqlenvironment:TZ: Asia/ShanghaiMYSQL_ROOT_PASSWORD: rootports:- "3306:3306"volumes:- ./sql:/docker-entrypoint-initdb.d   #./代表和docker-compose.yml同目录下- ./mysql/conf:/etc/mysql/mysql.conf.d- ./mysql/log:/var/log/mysql- ./mysql/data:/var/lib/mysqlcompose-nginx:image: nginxcontainer_name: compose-nginxrestart: alwaysdepends_on: #以后compose-poi启动后再启动该容器- compose-poiports:- "88:88"links:- compose-poivolumes:- ./dist:/home/hdxWeb     #映射前端dist下的全部文件到nginx容器/home/hdxWeb目录下- ./nginx/nginx.conf:/etc/nginx/nginx.conf  #映射配置nginx.conf文件设置,配置请求跳转到/home/hdxWeb目录下等- ./work/logs/nginx:/etc/nginx/logscompose-poi:restart: on-failurecontainer_name: compose-poiimage: poi:1.0depends_on: #depends_on 关键字用于定义服务之间的依赖关系。它指定了在启动服务之前需要启动的其他服务- compose-redis- compose-mysqllinks:  #links 关键字用于链接服务之间的网络连接,允许一个服务能够访问另一个服务- compose-redis- compose-mysqlports:- "8088:8088"volumes: #应该使用瘦身部署jar方便更新- ./target/poi.jar ./app/- ./target/resources/ ./app/resources/- ./target/lib/ ./app/lib/
  • 注意使用挂载命令volumes的时候,类似文件挂载可以这样写

  ./target/poi.jar ./app/

表示宿主机docker-compose.yml当前目录下的/target/poi.jar文件挂载到容器默认目录app下(如果是通过命令docker run -d -p 8088:8088 -v ./target/poi.jar:./app/,这样启动容器有两个报错,第一个是这样必须写绝对路径,不能写相对路径,第二是文件指定必须挂载到指定文件,应该改成:命令docker run -d -p 8088:8088 -v G:/target/poi.jar:/test/app/ poi.tar)

3:dockerfiled生成的镜像文件可以使用copy命令或者add命令添加相应资源到启动容器内,但是生成镜像的时候没有mounts绑定挂载宿主机资源的方法

记住规则:文件挂载文件,文件夹挂载文件夹就可以了

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

相关文章:

  • bash: conda: command not found
  • Leetcode-每日一题【剑指 Offer 36. 二叉搜索树与双向链表】
  • ctfshow-萌新专属红包题
  • 谷歌面试-扔鸡蛋
  • Unity血条制作
  • vue,uniapp生成二维码
  • 分类预测 | MATLAB实现SSA-CNN-SVM基于麻雀算法优化卷积支持向量机分类预测
  • STM32启动模式详解
  • go语言中的切片
  • HTML-常见标签、HTML5新特性
  • 微信有自己的“知乎”,微信问一问来了!
  • [MyBatis系列③]动态SQL
  • 开始MySQL之路—— DDL语法、DML语法、DQL语法基本操作详解
  • Java“牵手”天猫整店商品API接口数据,通过店铺ID获取整店商品详情数据,天猫店铺所有商品API申请指南
  • 用AI重构的钉钉,“钱”路在何方?
  • 批量根据excel数据绘制柱状图
  • 浅谈 Java 中的 Lambda 表达式
  • 闭包的概念
  • openGauss学习笔记-52 openGauss 高级特性-LLVM
  • MySQL 8.0字符集校正
  • 软考:中级软件设计师:数据库恢复与备份,故障与恢复,反规范化
  • Unbutu系统-Docker安装、JDK环境配置,Docker常用指令、Docker安装MySQL、Redis、Tomcat、Nginx,前端后分离项目部署
  • Python绘图系统10:在父组件中使用子组件的函数
  • 【Linux的成长史】Linux的发展史
  • OLED透明屏是什么?什么叫做OLED透明屏的原屏?
  • Redis 持久化的手段有哪些 ?RDB 和 AOF 有什么区别 ?
  • 【Vue】vue2预览显示quill富文本内容,vue-quill-editor回显页面,v-html回显富文本内容
  • 华纳云:ubuntu下nginx服务器如何配置
  • PTP时间同步例程
  • 【ES6】ES6遍历属性的方法