Dockerfile包含创建镜像所需要的全部指令。基于在Dockerfile中的指令,我们可以使用Docker build命令来创建镜像。通过减少镜像和容器的创建过程来简化部署
所有Dockerfile都必须以FROM命令开始。 FROM命令会指定镜像基于哪个基础镜像创建,接下来的命令也会基于这个基础镜像
序号 |
指令 |
简介 |
1 |
FROM ubuntu |
新的镜像将基于Ubuntu的镜像来构建 |
2 |
MAINTAINER <author name> |
设置该镜像的作者 |
3 |
RUN 《command》 |
在shell或者exec的环境下执行的命令 RUN指令会在新创建的镜像上添加新的层面 |
4 |
ADD 《src》 《destination》 |
复制文件指令 destination是容器内的路径。source可以是URL或者是启动配置上下文中的一个文件 |
5 |
CMD |
提供了容器默认的执行命令 Dockerfile只允许使用一次CMD指令 |
6 |
EXPOSE <port>; |
指定容器在运行时监听的端口 |
7 |
ENTRYPOINT |
配置给容器一个可执行的命令,这意味着在每次使用镜像创建容器时一个特定的应用程序可以被设置为默认程序 Docker只允许一个ENTRYPOINT |
8 |
WORKDIR |
指定RUN、CMD与ENTRYPOINT命令的工作目录 |
9 |
ENV <key> <value> |
设置环境变量。它们使用键值对 |
10 |
USER <uid> |
镜像正在运行时设置一个UID |
11 |
VOLUME |
授权访问从容器内到主机上的目录 |
下面是依据centos:5.11搭建tfs
vim Dockerfile
FROM centos:5.11 MAINTAINER reymont "reymont.li@foxmail.com" RUN yum -y install automake libtool libreadline-dev zlib1g-dev uuid-dev libgoogle-perftools-dev gcc-c++ wget #安装5.5的mysql RUN wget http://centos.ustc.edu.cn/epel/5/x86_64/epel-release-5-4.noarch.rpm RUN wget http://rpms.famillecollet.com/enterprise/5/remi/x86_64/remi-release-5.9-1.el5.remi.noarch.rpm RUN rpm -ivh *.rpm RUN yum -y --enablerepo=remi install mysql mysql-server mysql.x86_64 mysql-devel.x86_64 RUN yum -y install make automake zlib-devel readline-devel ncurses-devel.x86_64 ncurses.x86_64 subversion RUN svn checkout -r 18 http://code.taobao.org/svn/tb-common-utils/trunk/ ~/tb-common-utils RUN export TBLIB_ROOT=/usr/local/tb/lib && cd ~/tb-common-utils/ && chmod +x *.sh && ./build.sh RUN svn checkout http://code.taobao.org/svn/tfs/tags/release-2.2.10 ~/tfs-2.2.10 RUN export TBLIB_ROOT=/usr/local/tb/lib && cd ~/tfs-2.2.10/ && chmod +x *.sh && ./build.sh init && ./configure --prefix=/usr/local/tfs --without-tcmalloc && make && make install
编译
docker build -t reymont/centos-tfs .
参考:
Docker入门教程(三)Dockerfile - DockOne.io
http://dockone.io/article/103
Docker学习笔记之二,基于Dockerfile搭建JAVA Tomcat运行环境 - 聂永的博客 - BlogJava
http://www.blogjava.net/yongboy/archive/2013/12/16/407643.html
CentOS 5下安装tfs并使用Nginx做访问_服务器应用_Linux公社-Linux系统门户网站
http://www.linuxidc.com/Linux/2014-07/104896.htm
tfs - / - Taocode
http://code.taobao.org/p/tfs/src/
相关推荐
一定要安装最新版的 jenkins,旧版本,很多插件无法安装 2.查看jenkins的详细信息 docker inspect jenkins:2.200 3.创建jenkins 目录(做持久化) mkdir /home/jenkins_home 4.启动容器 docker run -d --name ...
centos7 tfs部署笔记.txt 环境信息: Docker version 1.8.2-fc22, build cb216be/1.8.2 Fedora release 22 (Twenty Two) Linux localhost.localdomain 4.0.4-301.fc22.x86_64 #1 SMP Thu May 21 13:10:33 UTC 2015 ...
小编使用 Docker 的方式进行应用程序的编译、打包以及部署,并且使用的 Azure 容器镜像仓库进行 Docker 镜像的管理,每个微服务的编译发布过程中都需要访问密钥进行登录完成镜像的拉取、以及推送动作。小编需要将 ...
到私有主机映像 要求Team Foundation Server 2017或Visual Studio Team Services帐户个人访问令牌在tfs帐户上安装Docker集成Azure订阅服务负责人Node.js NPM 凉亭Azure PowerShell 吉特.NET Core SDK .NET Framework...
4. Docker集成:VS2017专业版内置了对Docker容器的支持,开发者可以直接在IDE中编写、调试和部署Docker应用,极大地简化了微服务和云应用的开发流程。 5. Team Foundation Server (TFS) 集成:对于团队协作,VS2017...
2. 配置管理和版本控制工具:如TFS/ALM Octane、SonarQube、Fortify、JFrog Xray、BlackDuck、WebInspect、AppScan等,用于代码质量管理。 3. 容器和编排工具:如Docker、Kubernetes、OpenShift,提供轻量级的运行...
4. **版本控制集成**:FinalBuilder能与常见的版本控制系统如Git、SVN、TFS等无缝集成,可以在构建过程中自动拉取或提交代码。 5. **错误处理**:当构建过程中出现错误时,FinalBuilder会提供详细的错误报告,便于...
Visual Studio自带的Team Foundation Server (TFS) 或者Azure DevOps可以作为CI服务器,它们可以配置为监听GitHub或GitLab等版本控制仓库的推送事件,一旦有新的提交,就会触发构建过程。 2. **持续交付**:在C#...
* 功能:非结构化数据存储(类似于TFS或S3的功能)。 * 场景:海量小对象存储(80% ),写多读少,写入延时要求高。 微服务架构下的应用性能监控关注指标包括: * API响应时长 * 吞吐率 * 网络层耗时 * API响应...
2. **容器化与云支持**:随着DevOps的普及,EA14也开始支持Docker容器和云环境,使得模型能在不同的开发环境中无缝迁移。 总结来说,Enterprise Architect 14是一款强大且全面的建模工具,无论是在软件设计、项目...
3. Docker容器化部署,提高环境一致性,简化运维工作。 总结,C#企业门户网站源码涵盖了Web开发的多个层面,包括前端设计、后端逻辑、数据库操作以及安全防护。开发者需具备扎实的C#基础,熟悉.NET框架,同时掌握...
5. **容器化技术**:由于Docker的兴起,可能会讨论如何在Azure上使用Docker容器进行应用部署,如Azure Kubernetes Service (AKS) 和Azure Container Instances (ACI)。 6. **Java开发**:标签“Java”表明可能有...
7. **最佳实践**:为了实现高效的CI/CD,开发团队应遵循一些最佳实践,如代码审查、使用Docker容器化应用、采用基础设施即代码(IaC)以及监控和日志记录,以确保整个流程的可靠性和可维护性。 通过理解和应用这些...