Docker入门教程:创建与部署镜像
需积分: 0 3 浏览量
更新于2024-09-07
收藏 89KB DOCX 举报
"这是一个针对Docker初学者的文档,主要介绍了如何一键部署Docker镜像,包括了所需的启动脚本和安装包。文档中特别提到了路径问题,以及如何通过Dockerfile来构建和运行镜像。"
在Docker的世界里,Dockerfile是构建镜像的关键文件,它定义了一系列的指令,用于自动化创建Docker镜像。在这个文档中,我们看到以下关键知识点:
1. 基础镜像:`FROM java:8` 这一行指定了构建新镜像的基础镜像是Java 8环境,这里使用的是`docker.io/pwittchen/alpine-java8`,这是一个基于Alpine Linux的小型JDK镜像。
2. 暴露端口:`EXPOSE 8090` 意味着容器启动后,会监听8090端口,允许外部访问。
3. 创建目录:`RUN mkdir -p /zzcs/VehicleVisualMonitor` 在镜像内部创建了一个名为`VehicleVisualMonitor`的目录,用于存放服务相关的文件。
4. 添加文件:`ADD VehicleVisualMonitor /zzcs/VehicleVisualMonitor` 和 `ADD visualMonitor-start.sh /zzcs/VehicleVisualMonitor` 分别将本地的`VehicleVisualMonitor`目录和`visualMonitor-start.sh`脚本添加到镜像的相应路径下。
5. 权限设置:`RUN chmod u+x -R /zzcs` 和 `RUN chmod u+x /zzcs/VehicleVisualMonitor/visualMonitor-start.sh` 为`/zzcs`目录及其所有子目录以及`visualMonitor-start.sh`脚本赋予执行权限。
6. 启动命令:`CMD sh /zzcs/VehicleVisualMonitor/visualMonitor-start.sh` 指定了当容器启动时要执行的命令,即运行`visualMonitor-start.sh`脚本来启动服务。
7. 制作镜像:通过`docker build -t csmonitor:1.0 .` 命令,可以在当前目录下(`.`表示当前目录)构建名为`csmonitor`、版本号为`1.0`的镜像。
8. 检查镜像:使用`docker images` 查看已经构建好的镜像。
9. 运行容器:`docker run -it -p 8090:8090 csmonitor:1.0` 命令启动一个新的容器,并将主机的8090端口映射到容器的8090端口,以便对外提供服务。
10. 环境变量:`docker run -e CONFIG_NAME=sc -e CONFIG_PROFILE=dev -e CONFIG_URL=http` 在启动容器时设置环境变量,这对于配置动态化非常有用,可以根据不同环境设置不同的配置。
这个文档提供了一个简单的Docker应用部署流程,包括了从编写Dockerfile到构建和运行镜像的全过程,对于初学者来说是非常实用的入门指南。同时,也提醒了开发者需要注意路径问题,确保资源能够正确地被镜像找到和使用。
2019-10-11 上传
2022-06-08 上传
2024-04-16 上传
2024-03-25 上传
2024-03-26 上传
2023-12-01 上传
2022-05-23 上传
2024-04-18 上传
2024-04-30 上传
呵呵哒.
- 粉丝: 0
- 资源: 1
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍