如何编写Dockerfile脚本
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章的知识点包括:编写tomcat的Dockerfile脚本、编写nginx.1.12.0的Dockerfile脚本、编写mysql的Dockerfile脚本以及删除错误镜像和容器脚本,阅读完整文
千家信息网最后更新 2025年12月02日如何编写Dockerfile脚本
这篇文章的知识点包括:编写tomcat的Dockerfile脚本、编写nginx.1.12.0的Dockerfile脚本、编写mysql的Dockerfile脚本以及删除错误镜像和容器脚本,阅读完整文相信大家对Dockerfile脚本的编写有了一定的认识。tomcat的Dockerfile脚本
cd /optmkdir tomcatcd tomcatvim DockerfileFROM centos:7MAINTAINER this is tomcat ADD jdk-8u91-linux-x64.tar.gz /usr/local/WORKDIR /usr/local/RUN mv jdk1.8.0_91 /usr/local/javaENV JAVA_HOME /usr/local/javaENV JAVA_BIN /usr/local/java/binENV JRE_HOME /usr/local/java/jreENV PATH $PATH:/usr/local/java/bin:/usr/local/java/jre/binENV CLASSPATH /usr/local/java/jre/bin:/usr/local/java/lib:/usr/local/java/jre/lib/charsets.jarADD apache-tomcat-8.5.16.tar.gz /usr/localWORKDIR /usr/local/RUN mv apache-tomcat-8.5.16 /usr/local/tomcat8EXPOSE 8080ENTRYPOINT ["/usr/local/tomcat8/bin/catalina.sh","run"]docker build -t tomcat:centos .docker run -d --name tomcat01 -p 1216:8080 -it tomcat:centos nginx.1.12.0的Dockerfile脚本
cd /optmkdir nginxcd nginxvim Dockerfile FROM centos:7MAINTAINER this is nginx RUN yum -y updateRUN yum -y install wget pcre-devel zlib-devel make zlib gcc gcc-c++ openssl-devel net-toolsRUN useradd -M -s /sbin/nologin nginxADD nginx-1.12.0.tar.gz /usr/local/srcWORKDIR /usr/local/srcWORKDIR nginx-1.12.0RUN ./configure \--prefix=/usr/local/nginx \--user=nginx \--group=nginx \--with-http_stub_status_module && make && make installENV PATH /usr/local/nginx/sbin:$PATHEXPOSE 80EXPOSE 443RUN echo "daemon off;">>/usr/local/nginx/conf/nginx.confWORKDIR /root/nginxADD run.sh /run.shRUN chmod 755 /run.shCMD ["/run.sh"]#nginx启动文档vim run.sh#!/bin/bash/usr/local/nginx/sbin/nginxdocker build -t nginx:new .docker run -d -P nginx:new mysql的Dockerfile脚本
mkdir mysqlcd mysql/vim DockerfileFROM centos:7MAINTAINER this is mysql RUN yum -y update#安装mysql依懒环境包RUN yum -y install \ncurses \ncurses-devel \bison \cmake \make \gcc \gcc-c++ #创建运行用户RUN useradd -s /sbin/nologin mysql#上传jingxADD mysql-boost-5.7.20.tar.gz /usr/local/src#编译安装WORKDIR /usr/local/src/mysql-5.7.20/RUN cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \-DSYSCONFDIR=/etc \-DSYSTEMD_PID_DIR=/usr/local/mysql \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \-DMYSQL_DATADIR=/usr/local/mysql/data \-DWITH_BOOST=boost \-DWITH_SYSTEMD=1 && make && make install#数据库目录进行权限调整RUN chown -R mysql:mysql /usr/local/mysql/#调整配置文件RUN rm -rf /etc/my.cnfADD my.cnf /etcRUN chown mysql:mysql /etc/my.cnf#设置环境变量ENV PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH#初始化数据库WORKDIR /usr/local/mysql/RUN bin/mysqld \--initialize-insecure \--user=mysql \--basedir=/usr/local/mysql \--datadir=/usr/local/mysql/dataRUN cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ADD run.sh /run.shRUN chmod 755 /run.shEXPOSE 3306CMD ["/run.sh"]#CMD ["mysql_safe"]#my.cnf启动脚本vim my.cnf[root@localhost mysql-5.7.20]#vi /etc/my.cnf[client]port = 3306default-character-set=utf8socket = /usr/local/mysql/mysql.sock[mysql]port = 3306default-character-set=utf8socket = /usr/local/mysql/mysql.sock[mysqld]user = mysqlbasedir = /usr/local/mysqldatadir = /usr/local/mysql/dataport = 3306character_set_server=utf8pid-file = /usr/local/mysql/mysqld.pidsocket = /usr/local/mysql/mysql.sockserver-id = 1sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES#mysql权限脚本vim run.sh/usr/bin/systemctl start mysql.server && \mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'abc123';" && \mysql -e "grant all privileges on *.* to 'root'@'%' localhost identified by 'abc123';"docker build -t centos:mysql .docker run --name=mysql_server -d -P --privileged centos:mysql /usr/bin/initialize-insecuredocker exec -it 镜像ID /bin/bash 删除错误镜像和容器
cd /optvim none.sh#!/bin/bashdocker ps -a | grep "Exited" | awk '{print $1 }' |xargs docker stopdocker ps -a | grep "Exited" | awk '{print $1 }' |xargs docker rmdocker images | grep none | awk '{print $3 }' | xargs docker rmi
关于Dockerfile脚本的编写就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
脚本
镜像
容器
数据
数据库
更多
权限
环境
知识
错误
调整
不错
内容
变量
文件
文档
文章
用户
目录
知识点
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
红客网络安全应急响应中心
网络安全标准研究立项
游览器无法连接代理服务器
江西网络安全周开幕式
提起网络安全你想起了什么
cmd界面为什么无法打开数据库
公安网络安全漏洞
电子商务数据库实训 心得
利用网络技术查询同程重名
地方企事业单位软件开发
福州市新华互联网科技学校专业
沃克斯电梯服务器进不去
怎么查询电脑软件服务器
魔龙之戒服务器
中国历代字体检索数据库
网络数据库安全保护
中班网络安全主题教案
视频动画软件开发
服务器输入用户名和密码后卡住
从邮件服务器拿邮件
永图时代网络技术公司招聘
政府网络安全工作好吗
南开大学 网络安全学院
网络安全法百度网盘下载
数据库技术及应用微课
汽车网络技术发展背景
消防大队网络安全检查
广州有限元软件开发招聘
教学管理系统数据库毕业设计
河北凯迅网络技术有限公司