这里写自定义目录标题
CMD和ENTRYPOINT的区别
CMD #指定容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT #指定这个容器启动的时候要运行的命令,可以追加命令
测试CMD
#编写dockerfile 文件
[root@wangqk lession101]# vim dockerfile-cmd-test
FROM centos:6
CMD ["ls","-a"]
#构建镜像
[root@wangqk lession101]# docker build -f dockerfile-cmd-test -t cmd-test .
#run 运行
[root@wangqk lession101]# docker run cmd-test
.
..
.dockerenv
bin
等
#想追加一个命令 -l
[root@wangqk lession101]# docker run cmd-test -l
报错。。。
[root@wangqk lession101]# docker run cmd-test ls -al
正常
ENTRYPOINT
[root@wangqk lession101]# vim dockerfile-cmd-entrypoint
FROM centos:6
ENTRYPOINT ["ls","-a"]
#构建镜像
[root@wangqk lession101]# docker build -f dockerfile-cmd-entrypoint -t cmd-entrypoint .
#run 运行
[root@wangqk lession101]# docker run cmd-entrypoint
bin
dev
etc
home
等
[root@wangqk lession101]# docker run cmd-entrypoint -l
tomcat 镜像:
1.准备JDK安装包 tomcat压缩包 镜像文件
2.编写dockerfile文件
文件:
[root@wangqk lession102]# touch readme.txt
[root@wangqk lession102]# vim Dockerfile
FROM centos:6
MAINTAINER wangqk<651518854@qq.com>
COPY readme.txt /usr/local/readme.txt
ADD jdk-8u121-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.0.52.tar.gz /usr/local/
RUN yum -y install vim
ENV MYPATH /usr/local
WORKDIR $MYPATH
ENV JAVA_HOME /usr/local/jdk1.8.0_121
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.0.52
ENV CATALINA_BASH /usr/local/apache-tomcat-8.0.52
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
EXPOSE 8080
CMD /usr/local/apache-tomcat-8.0.52/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.0.52/logs/catalina.out
构建镜像
[root@wangqk lession102]# docker build -t tomcat8:v1 .
[root@wangqk lession102]# docker run -d -p 8080:8080 --name crsc-oa-tomcat -v /data/demo/tomcat8/webapps/:/usr/local/apache-tomcat-8.0.52/webapps/ -v /data/demo/tomcat8/logs/:/usr/local/apache-tomcat-8.0.52/logs/ tomcat8:v1
[root@wangqk lession102]# docker exec -it crsc-oa-tomcat /bin/bash
DockerFile
[root@localhost dockerfile]# pwd
/data/dockerfile
[root@localhost dockerfile]# cat Dockerfile
#volume test
FROM centos
VOLUME ["/data/dockertext01","/data/dockertext02"]
CMD echo "file,------SUCCESS1"
CMD /bin/bash
# docker run -it -v /host1:/data/dockertext01 -v /host2:/data/dockertext01 centos /bin/bash
[root@localhost dockerfile]#
[root@localhost dockerfile]# docker build -f /data/dockerfile/Dockerfile -t wangqk/centos .
[+] Building 411.9s (5/5) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 268B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/library/centos:latest 5.7s
=> [1/1] FROM docker.io/library/centos@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177 406.1s
=> => resolve docker.io/library/centos@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177 0.0s
=> => sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177 762B / 762B 0.0s
=> => sha256:a1801b843b1bfaf77c501e7a6d3f709401a1e0c83863037fa3aab063a7fdb9dc 529B / 529B 0.0s
=> => sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6 2.14kB / 2.14kB 0.0s
=> => sha256:a1d0c75327776413fa0db9ed3adcdbadedc95a662eb1d360dad82bb913f8a1d1 83.52MB / 83.52MB 391.8s
=> => extracting sha256:a1d0c75327776413fa0db9ed3adcdbadedc95a662eb1d360dad82bb913f8a1d1 13.4s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:e8deb4d4c21b012068e73745c51d1fae1cc4759b12e73ddec098d9f9463709c1 0.0s
=> => naming to docker.io/wangqk/centos
[root@localhost dockerfile]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wangqk/centos latest e8deb4d4c21b 17 months ago 231MB
[root@localhost /]# docker run -it wangqk/centos
[root@51daa1025017 /]#
[root@localhost data]# docker run -it wangqk/centos
[root@38a3f6ff066d /]# ls /data/
dockertext01 dockertext02
```
## 创建一个表格
一个简单的表格是这么创建的:
项目 | Value
-------- | -----
电脑 | $1600
手机 | $12
导管 | $1
### 设定内容居中、居左、居右
使用`:---------:`居中
使用`:----------`居左
使用`----------:`居右
| 第一列 | 第二列 | 第三列 |
|:-----------:| -------------:|:-------------|
| 第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
### SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
| TYPE |ASCII |HTML
|----------------|-------------------------------|-----------------------------|
|Single backticks|`'Isn't this fun?'` |'Isn't this fun?' |
|Quotes |`"Isn't this fun?"` |"Isn't this fun?" |
|Dashes |`-- is en-dash, --- is em-dash`|-- is en-dash, --- is em-dash|
## 创建一个自定义列表
Markdown
: Text-to-HTML conversion tool
Authors
: John
: Luke
## 如何创建一个注脚
一个具有注脚的文本。[^2]
[^2]: 注脚的解释
## 注释也是必不可少的
Markdown将文本转换为 HTML。
*[HTML]: 超文本标记语言
## KaTeX数学公式
您可以使用渲染LaTeX数学表达式 [KaTeX](https://khan.github.io/KaTeX/):
Gamma公式展示 $\Gamma(n) = (n-1)!\quad\forall
n\in\mathbb N$ 是通过欧拉积分
$$
\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,.
$$
> 你可以找到更多关于的信息 **LaTeX** 数学表达式[here][1].
## 新的甘特图功能,丰富你的文章
```mermaid
gantt
dateFormat YYYY-MM-DD
title Adding GANTT diagram functionality to mermaid
section 现有任务
已完成 :done, des1, 2014-01-06,2014-01-08
进行中 :active, des2, 2014-01-09, 3d
计划一 : des3, after des2, 5d
计划二 : des4, after des3, 5d
```
- 关于 **甘特图** 语法,参考 [这儿][2],
## UML 图表
可以使用UML图表进行渲染。 [Mermaid](https://mermaidjs.github.io/). 例如下面产生的一个序列图:
```mermaid
sequenceDiagram
张三 ->> 李四: 你好!李四, 最近怎么样?
李四-->>王五: 你最近怎么样,王五?
李四--x 张三: 我很好,谢谢!
李四-x 王五: 我很好,谢谢!
Note right of 王五: 李四想了很长时间, 文字太长了<br/>不适合放在一行.
李四-->>张三: 打量着王五...
张三->>王五: 很好... 王五, 你怎么样?
```
这将产生一个流程图。:
```mermaid
graph LR
A[长方形] -- 链接 --> B((圆))
A --> C(圆角长方形)
B --> D{菱形}
C --> D
```
- 关于 **Mermaid** 语法,参考 [这儿][3],
## FLowchart流程图
我们依旧会支持flowchart的流程图:
```mermaid
flowchat
st=>start: 开始
e=>end: 结束
op=>operation: 我的操作
cond=>condition: 确认?
st->op->cond
cond(yes)->e
cond(no)->op
```
- 关于 **Flowchart流程图** 语法,参考 [这儿][4].
## 导出与导入
### 导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 **文章导出** ,生成一个.md文件或者.html文件进行本地保存。
### 导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
[1]: http://meta.math.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference
[2]: https://mermaidjs.github.io/
[3]: https://mermaidjs.github.io/
[4]: http://adrai.github.io/flowchart.js/