制作Dockerfile镜像
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,Dockerfile概述Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。tomcat的Doc
千家信息网最后更新 2025年12月03日制作Dockerfile镜像
Dockerfile概述
Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取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
脚本
命令
镜像
数据
数据库
映像
权限
环境
调整
变量
容器
指令
文件
文档
用户
目录
自动生成
错误
生成
组合
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何理解软件开发的本质是建模
网络安全加固工程建设
公务员 业余软件开发
计算机和网络安全工程哪个好
饥荒本地联机服务器无响应
义乌打工网络技术有限公司
浙江第三方软件开发价钱是多少
互联网和科技的名义
一个数据库一个服务器先安装哪个
mvc如何连接数据库
软件开发测试部署流程
网络安全必学书籍
嵌入式软件开发平台的搭建
网络安全负责人及工作责任人
夜间23点到6点游戏服务器
网络安全意识漫游记观看
银行网络安全防护体系
腾讯云服务器安全性怎么样
网络安全是国家控制专业
用友u852服务器配置
科学数据库上
esg 数据库
怎样查找自己电脑服务器ip
天津互联网科技学院
鞍山app软件开发价格
股票配资分仓软件开发
宿州城市网络安全
深圳艾特网络技术有限公司
sql创造数据库代码
互联网服务器内存多大