1-Docker学习笔记
docker还是比较容易的,比较蛋疼的就是镜像网络问题,不过也可以配置了镜像加速器(比如阿里云)。这里重点记录一下初学docker时遇到的知识点。
docker环境变量
docker对环境变量的定义和初始化是在Dockerfile中配置的,也就是说在制作docker镜像时进行定义
Dockerfile
//定义了两个环境变量NAME,AGE FROM centos ENV NAME "heboan" ENV AGE ADD . /opt/app WORKDIR /opt/app ENTRYPOINT ["sh","hello.sh"]
hello.sh
#!/bin/bash echo "name: $NAME" echo "age: $AGE"
docker添加的环境变量会被写入镜像的环境变量中,所以hello.sh只需要读取系统的环境变量就可以取到docker的环境变量
先build一个镜像
docker build . -t envimg:v1

也可以使用docker run --env <key>=<value> <IMAGE-ID>来修改环境变量

查看环境变量
docker exec -it <CONTAINER-NAME> OR <CONTAINER-ID> env

docker的CMD和ENTRYPOINT指令区别
### CMD支持三种格式 ###
① CMD ["executable","param1","param2"] 使用exec执行,推荐使用
② CMD command param1 param2 在/bin/sh中执行,提供需要交互的应用
③ CMD ["param1","param2"] 提供给ENTRPOINT的默认参数
- CMD是指定启动容器时执行的命令,每个Dockerfile只能有一条CMD命令,如果指定了多条,只有最后一条会被执行
- 如果用户启动容器时指定了运行的命令,则不会执行CMD命令
### ENTRYPOINT ###
① ENTRYPOINT ["executable", "param1", "param2"]
② ENTRYPOINT command param1 param2 在shell中执行
- 配置容器启动后执行的命令,并且不可被docker run提供的命令覆盖,。而是将其作为ENTRYPOINT指定命令的参数
- 每个Dockerfile只能有一个ENTRYPOINT,当指定多条时,只有最后一个会被执行
注意:
如果Dockerfile指定基础镜像中是ENTRYPOINT指定的启动命令,则该Dockerfile中的CMD依然是为基础镜像中的ENTRYPOINT设置默认参数
1-Docker学习笔记的更多相关文章
- Docker学习笔记 — 配置国内免费registry mirror
Docker学习笔记 — 配置国内免费registry mirror Docker学习笔记 — 配置国内免费registry mirror
- docker学习笔记1 -- 安装和配置
技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境
Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...
- docker~学习笔记索引
回到占占推荐博客索引 使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索! docker~学习笔记索引 docker~linux下的部署和基本命令(2017 ...
- Docker学习笔记 - Docker容器内部署redis
Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...
- docker学习笔记(一)—— ubuntu16.04下安装docker
docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...
- Docker学习笔记总结
Docker学习笔记 https://yeasy.gitbooks.io/docker_practice/content/ 一 环境搭建 Ubuntu安装 .添加软件源的GPG密钥 curl -f ...
- docker学习笔记二:常用命令
docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...
- docker学习笔记-1
docker学习笔记一:安装 mac安装docker docker官方文档上有这么一段话: Because the Docker daemon uses Linux-specific kernel f ...
- Docker:学习笔记(1)——基础概念
Docker:学习笔记(1)——基础概念 Docker是什么 软件开发后,我们需要在测试电脑.客户电脑.服务器安装运行,用户计算机的环境各不相同,所以需要进行各自的环境配置,耗时耗力.为了解决这个问题 ...
随机推荐
- Arrays.asList() 踩坑
该方法是将 数组转化为list,但转换后的list集合,不支持add 和 remove 代码如下: 阅读相关: 本类演示了Arrays类中的asList方法 (1) 该方法对于基本数据类型的数组支持 ...
- 基于SILVACO ATLAS的a-IGZO薄膜晶体管二维器件仿真(03)
今天逛ResearchGate的时候发现了一个不错的Atlas入门教程:Step by step with ATLAS Silvaco点击链接免费下载.. Atlas代码结构 当然可能有一点太基础了. ...
- 微信小程序GET 400 (Bad Request)解决方案
解决了接口的问题,接下来就是请求不正确,得不到数值 400 (Bad Request) 可以用这个方法:wx.request传入的对象参数中的head改一下 wx.request({ header: ...
- P1217
最快的办法就是打表了...不然怎么都会TLE. 先计算出给定最大范围内的所有回文质数: #include <bits/stdc++.h> using namespace std; #def ...
- java 执行jar包里面一个类class文件
一.环境: 1. linux 2. 有两个java类,A.java和B.java,都在同一个目录下 二.源码: A.java package com.abc; public class A { ...
- LeetCode练题——58. Length of Last Word
1.题目 58. Length of Last Word——Easy Given a string s consists of upper/lower-case alphabets and empty ...
- windows远程linux的方法(不用xshell)
先cmd进入DOS,再输入命令ssh root@要远程的linux的ip 输入密码 即可进入linux后台.如下图,即为edr后台,可以见到unabackup服务了. 如果是多次远程不同IP,第二次远 ...
- Windowserver2012服务器激活方法(亲测可用)---转载
Windowserver2012服务器激活方法(亲测可用)原创꧁刘向洋꧂ 最后发布于2019-03-12 14:46:45 阅读数 5124 收藏展开激活方式 slmgr /ipk D2N9P-3P ...
- 再次立个flag
今天2019.9.18 从上次迷茫到现在,差不多过去快一年了. 准确点是 442 天 我顺便大概看了一下上次迷茫时期的日志,总觉的不可思议.上次是毕业大概几个月,到目前其实也没多久,但是我变了.. ...
- 360网安学习笔记——Web安全原理与实践
网络安全 基本技能: 1.编程语言 2.计算机网络 3.操作系统 4.office 专业技能 1.web安全 2.网络安全 3.渗透测试 4.代码审计 能力提升 1.书籍 2.站点 3.安全平台 We ...