DockerFile command
1.Docker忽略大小写,但是约定关键字大写
2.# docker文件注释
3.FROM
FROM imagename(:latest) OR
FROM imagename:specific version(tag)
FROM命令,是用于描述该dockerfile的基础依赖镜像,写在最前
如:
FROM centos:centos7
4.MAINTAINER 标识dockerfile文件的所有者和维护者
5.RUN
RUN 命令:
在当前镜像中旅,执行相应的命令,将结果作用于该镜像(immediate image)
在docker中每个命令执行结果都是立即产生新的镜像,将前一个temp删除,当前命令总是在最新镜像上执行。
如:
RUN cd /usr/share/html
RUN npm install
以上两个命令,本意是进入目录html下,安装npm,但是第二条并没有在html目录下执行,而是从新在/bin/sh下。如果想达到以上目的只能在同一个RUN下执行。亦或者都将目录拷贝到根目录下,不过这样会造成文件目录混乱。
DockerFile多个RUN同时执行使用 && 连接符。
RUN /bin/sh -c 'cd /usr/share/nginx/html/ && npm install'
所有的RUN命令都是在shell中执行
RUN <command> (这个命令运行一个shell中 - '/bin/sh -c')
等于:
RUN /bin/sh -c ‘command’
所有以上:
RUN /bin/sh -c ‘cd /usr/share/html && npm install’
6.WORKDIR
Dockerfile中,默认执行目录都是在/bin/sh,想在其他目录,需要WORKDIR /usr/share/html
为后续的RUN、CMD、ENTRYPOINT指令配置工作目录。
WORKDIR /a
WORKDIR b
WORKDIR c
RUN pwd
则最终路径为/a/b/c
7.ADD
ADD source des
所有拷贝到container中的文件和文件夹权限为0755,uid和gid为0
RUN chmod a+x /apps/adf/*
RUN chmod 777 /apps/adf/work
8.COPY
COPY source des
COPY是直接copy不做任何其他操作,与ADD类似,ADD多了自动解压。
9.ENV
设置镜像环境变量,在颈项环境变量中,可以直接使用主机已经定义的环境变量
ENV PATH /usr/local/bin:$PATH
10.CMD 、 ENTRYPOINT
想在CMD命令中,运行多个命令
CMD nohup /bin/sh -c ‘npm start && node ./server/server.js’
或 ENTRYPOINT执行一个脚本文件:
11.ENTRYPOINT
ENTRYPOINT [“./entrypointname.sh”]
entrypoint.sh文件如下:
// entrypoint.sh
nohup npm start &
nohup node ./server/server.js &
ENTRYPOINT/CMD,一般两者可以配合使用,比如:
ENTRYPOINT ["/usr/sbin/sshd"]
CMD ["-D"]
** 在Docker daemon模式下,无论你是使用ENTRYPOINT,还是CMD,最后的命令,一定要是当前进程需要一直运行的,才能够防容器退出。***
12.USER
指定运行时的用户名或UID,后续的RUN也会使用指定的用户。
当服务不需要管理权限时,可以通过该命令指定运行用户。并且可以在之前创建所需要的用户
13.EXPOSE
容器内部服务开启端口,启动容器时候需要做主机端口映射
14.VOLUME 命令
VOLUME ["<mountpoint>"]
如:
VOLUME ["/data"]
创建一个挂载点用于共享目录
相关推荐
这使您可以简单地远程构建本地dockerfile,而无需离开舒适的环境。 安装 使用 : kubectl krew index add kvaps kubectl krew install kvaps/build 或使用curl: curl -LO ...
- docker commands - Dockerfile - docker-compose - CloudComputing - AWS - EC2 - RDBMS - Postgres 3.数据科学 - Analysis - *numpy* - *pandas* - Visualization - *matplotlib* - *seaborn* - File...
Laravel docker cron如何使用git clone ...phpnamespace App \ Console \ Commands ;use Illuminate \ Console \ Command ;class HelloCron extends Command{ /** * The name and signature of the c
主持人 :laptop: 远程桌面在续ainer。... TODO,您可以从此开始创建自己的Dockerfile和/或挂载您自己的受监管文件。 请参见扩展example-extended :TODO example-extended (sshd + siab +浏览器) TODO工作流程,许可
ui-tests-样板 用于将赛普拉斯测试框架添加到任何项目的样板。 概括 该样板使用具有Cucumber和Docker支持的Cypress来编写集成和端到端UI测试。 主要关注于如何将其合并... 我们已经在commands.js包含了该commands.js 。
Chapter 2, Handling Docker Containers, is dedicated to clearly explaining the various commands required to manage Docker images and containers. This chapter provides the basic Docker terminologies ...
- Makefile with commands like `make data` or `make train` ├── README.md <- The top-level README for developers using this project. ├── Dockerfile <- Docker image for this project. ├── ...
Dockerfile * ! Makefile ! * .go # ...even if they are in subdirectories ! * / 安装并运行GOLIC # GO 1.16 go install github.com/AbsaOSS/golic@v0.4.4 golic inject -c= " 2021 MyCompany ltd. " 用法 ...
默认情况下,memcache_exporter在/metrics端口0.0.0.0:9150上0.0.0.0:9150 : make./memcached_exporter 另外,提供了一个Dockerfile: docker run -p 9150:9150 quay.io/prometheus/memcached-exporter:latest收藏...
使用基于官方 Redis Docker 映像的 Dockerfile。 有关如何使用自定义配置和存储选项运行 Docker 映像的示例,请参阅。 如果您发现不兼容,请在此处提交问题。 跑步 示例:默认配置 使用随动态 Redis 项目提供的默认...
网络服务 程序 通过npm run build ... TODO:我将提供带有步骤的Dockerfile。 支持的命令 ./<binary> help web-serve - A lightweight production build webapp server Usage: web-serve [commands] [flags] web
剧本分别加载每个文件并执行一系列任务: 创建一个构建目录将映像文件复制到该目录中删除具有该特定图像和版本的现有图像建立图像Dockerfile是通过位于templates/的Jinja2模板生成的。配置组变量文件包含配置变量:...
This book will be a practical guide showing how to fix real-life issues related to installation, memory, Dockerfile syntax, connection, authorization, networking and so on in Docker. This book will ...
将Dockerfile.sample复制到Dockerfile并进行编辑。 在底部附近,您必须使用settings.json文件或设置ENV变量来提供API凭据。 有关这些的详细信息,请参阅下面的设置部分。 一旦配置了Dockerfile,就可以构建并运
Dockerized-Selenium-PyTest ... 它将工作空间拉到Jenkins容器中,然后执行在该代码仓库中找到的Dockerfile。 然后,存储库将向其报告在其上运行的py.tests的result.xml文件 目前,应该有1个失败的测试和2个通过的测试
Spring Boot Maven 项目开始步骤: ... Run the following commands in the terminal/command line to build the app: - mvn clean install 1.c. Run the following command(s) in the terminal/comm
Before diving into clustering Payara Server within Docker, let’s explore some advanced Docker commands and options: ##### Container Name Naming containers allows for easier management and ...
$ cd small-scheduler-docker/commands $ ./install 回答安装脚本的问题并构建docker环境: $ ./rebuild-docker 下载symfony依赖项 $ ./composer update 建立资料库 $ ./console sebk:small-orm:layers-execute ...
安装$ heroku plugins:install heroku-container-tools采用$ heroku help containerUsage: heroku container Use containers to build and deploy Heroku appsAdditional commands, type "heroku help COMMAND" for ...