IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Dockerfile -> 正文阅读

[系统运维]Dockerfile

https://www.bilibili.com/video/BV1og4y1q7M4?t=699&p=39

初时DockerFile

Dockerfile 就是用来构建docker镜像的构建文件!命令脚本
通过这个脚本可以生成镜像,镜像是一层一层的文件,脚本是一个一个的命令,每个命令都是一层
#创建一个dockerfile文件,名字建议DockerFile
#文件中的内容,命令都是大写的
[root@iZ2ze2lmaapzzdwfu3j33hZ docker-test-volume]# vim dockerfile1
[root@iZ2ze2lmaapzzdwfu3j33hZ docker-test-volume]# cat dockerfile1 
FROM centos
?
VOLUME ["volume1","volume2"]
?
CMD echo "---end---"
CMD /bin/bash
#生成镜像的命令: docker build -f /home/docker-test-volume/dockerfile1 -t hz/centos .
?
-f 将要生成文件的路径
-t 构建成包  tag

DockerFile

构建步骤:

1.编写一个dockerfile文件

2.docker build 构建成为一个镜像

3.docker run 运行镜像

4.docker push 发布镜像(Docker Hub或者阿里云镜像仓库)

DockerFile常用指令

FROM            # 基础镜像,一切从这里开始构建
MAINTAINER ? ? ?# 镜像作者  姓名+邮箱
RUN             # 镜像构建的时候需要运行的命令
ADD             # 步骤:tomcat镜像,这个tomcat压缩包!添加内容
WORKDIR         # 镜像的工作目录
VOLUME          # 挂载的目录
EXPOSE          # 保留端口配置
CMD             # 指定这个容器启动的时候需要运行的命令,只有最后一个会生效,可以被替代
ENTRYPOINT      # 指定这个容器启动的时候的命令,追加命令
ONBUILD         # 当构建一个被继承 DockerFile 这个时候就会运行 ONBUILD 的指令。触发指令。
COPY            # 类似ADD,将我们文件拷贝到镜像中
ENV             # 构建的时候设置环境变量
?

创建自己的Centos

#编写dockerfile文件
[root@iZ2ze2lmaapzzdwfu3j33hZ dockerfile]# cat mydockerfile 
FROM centos
MAINTAINER huangzhen<875784622@qq.com>
?
ENV MYPATH /usr/local
WORKDIR $MYPATH
?
RUN yum -y install vim
RUN yum -y install net-tools
?
EXPOSE 80
?
CMD echo $MYPATH
CMD echo "--end---"
CMD /bin/bash
#通过这个mydockerfile文件构建自己的镜像

命令:docker build -f mydockerfile -t mycentos:0.1 .

可以使用docker images 查看

使用docker history 容器id 可以查看容器的构建历史

CMD和ENTRYPOINT区别

CMD             # 指定这个容器启动的时候需要运行的命令,只有最后一个会生效,可以被替代
ENTRYPOINT      # 指定这个容器启动的时候的命令,追加命令
#启动的时候回直接执行ls -a这个命令
[root@iZ2ze2lmaapzzdwfu3j33hZ dockerfile]# cat docker-cmd-test 
FROM centos
CMD ["ls","-a"]
执行docker run 容器id -l ?
CMD命令会被 -l替换掉  从执行 ls -a  变成执行 -l 直接抛出错误
?
?
[root@iZ2ze2lmaapzzdwfu3j33hZ dockerfile]# cat dockerfile-cmd-entrypoint
FROM centos
ENTRYPOINT ["ls","-a"]
[root@iZ2ze2lmaapzzdwfu3j33hZ dockerfile]# 
使用entrypoint命令 则是直接执行 ls -a ? 在命令后面拼接命令 -l ?  变成 ls -a -l 不会抛出错误

实战:tomcat镜像

1.准备镜像文件 tomcat压缩包和jdk的压缩包

2.编写dockerfile文件,官方命名 Dockerfile, build会自动寻找这个文件 不用 -f 指定了

[root@iZ2ze2lmaapzzdwfu3j33hZ tomcat]# cat Dockerfile 
FROM centos
MAINTAINER  huangzhen<875784622@qq.com>
?
COPY redmine.txt /usr/local/redmine.txt
?
ADD jdk-8u291-linux-x64.tar.gz /usr/local
ADD apache-tomcat-9.0.50.tar.gz /usr/local
?
RUN yum -y install vim
?
ENV MYPATH /usr/local
?
WORKDIR $MYPATH
?
ENV JAVA_HOME /usr/local/jdk1.8.0_291
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.50
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.50
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
?
EXPOSE 8080
?
CMD /usr/local/apache-tomcat-9.0.50/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.50/bin/logs/catalina.out
?

3.构建命令

docker build -t tomcat:0.1 .

因为文件名字名为的是官方推荐的Dockerfile 所以不用写-f命令指定文件路径,会自动扫描

4.启动镜像

5.测试镜像能否访问

6.发布项目(由于做了卷挂载,我们直接在本地编写项目就可以发布了)

springboot微服务打包成docker镜像

1.架构springboot项目

2.打包应用

3.编写Dockerfile

4.构建镜像 docker build -t 镜像名字 .

5.发布运行

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-07-11 16:57:23  更:2021-07-11 16:57:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 16:48:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码