如何编写Dockerfile脚本

  

这篇文章的知识点包括:编写tomcat的Dockerfile脚本,编写nginx.1.12.0的Dockerfile脚本,编写mysql的Dockerfile脚本以及删除错误镜像和容器脚本,阅读完整文相信大家对Dockerfile脚本的编写有了一定的认识。

 <代码类=" sql语言"> cd/选择
  mkdir tomcat
  cd tomcat
  vim Dockerfile
  从centos: 7
  维护人员这是tomcat & lt; lzp>
  添加jdk-8u91-linux-x64.tar。广州/usr/local/WORKDIR/usr/local/运行mv jdk1.8.0_91/usr/local/java
  ENV JAVA_HOME/usr/local/java
  ENV JAVA_BIN/usr/local/java/bin
  ENV JRE_HOME/usr/local/java/jre
  ENV路径路径:美元/usr/地方/java/bin:/usr/bin/地方/java/jre
  ENV CLASSPATH/usr/local/java/jre/bin:/usr/地方/java/lib:/usr/地方/java/jre/lib/charsets.jar
  添加apache-tomcat-8.5.16.tar。广州/usr/local
  WORKDIR/usr/local/运行mv apache-tomcat-8.5.16/usr/local/tomcat8
  8080年公开
  
  入口点(“/usr/地方/tomcat8/bin/catalina.sh",“run"】
  码头工人建造- t tomcat: centos。
  码头工人运行- d——名称tomcat01 - p 1216:8080 - tomcat: centos  

nginx.1.12.0的Dockerfile脚本

 <代码类=" sql语言"> cd/选择
  mkdir nginx
  cd nginx
  vim Dockerfile
  从centos: 7
  维护人员这是nginx & lt; lzp>
  运行yum - y更新
  运行yum - y安装wget pcre-devel zlib-devel使zlib gcc gcc-c + + openssl-devel net-tools
  运行useradd - m - s/sbin/nologin nginx
  添加nginx-1.12.0.tar。广州/usr/local/src
  WORKDIR/usr/local/src
  WORKDIR nginx-1.12.0
  运行./configure \
  ——prefix=/usr/地方/nginx \
  ——用户=nginx \
  ——组=nginx \
  ——with-http_stub_status_module,,使,,制作安装
  ENV路径/usr/local/nginx/sbin: $路径
  80年公开
  443年公开
  运行回声“守护进程;“祝辞在/usr/地方/nginx/conf/nginx.conf
  WORKDIR/root/nginx
  添加运行。sh/run.sh
  运行chmod 755/run.sh
  CMD (“/run.sh")
  
  # nginx启动文档
  vim run.sh
  # !/bin/bash/usr/local/nginx/sbin/nginx
  
  码头工人建造- t nginx:新。
  码头工人- d - p运行nginx:新 

mysql的Dockerfile脚本

 <代码类=" sql语言"> mkdir mysql
  cd mysql/vim Dockerfile
  从centos: 7
  维护人员这是mysql & lt; lzp>
  运行yum - y更新
  #安装mysql依懒环境包
  运行yum - y安装\
  ncurses \
  ncurses-devel \
  野牛\
  cmake \
  使\
  gcc \
  gcc-c + +
  #创建运行用户
  useradd - s/sbin/nologin mysql运行
  #上传jingx
  添加mysql-boost-5.7.20.tar。广州/usr/local/src
  #编译安装
  WORKDIR/usr/local/src/mysql-5.7.20/运行cmake \
  -DCMAKE_INSTALL_PREFIX=/usr/地方/mysql \
  -DMYSQL_UNIX_ADDR=/usr/地方/mysql/mysql。袜子\
  -DSYSCONFDIR=/etc \
  -DSYSTEMD_PID_DIR=/usr/地方/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/\/mysql/数据
  -DWITH_BOOST=提高\
  -DWITH_SYSTEMD=1,,使,,制作安装
  #数据库目录进行权限调整
  乔恩- r mysql运行:mysql/usr/local/mysql/#调整配置文件
  运行rm射频/etc/my.cnf/etc添加my . cnf中所做
  乔恩mysql运行:mysql/etc/my.cnf
  #设置环境变量
  ENV路径=/usr/地方/mysql/bin:/usr/地方/mysql/lib:美元的道路
  #初始化数据库
  WORKDIR/usr/local/mysql/bin/mysqld \运行
  ——initialize-insecure \
  ——用户=mysql \
  ——basedir=/usr/地方/mysql \
  ——datadir=/usr/地方/mysql/数据
  运行cp/usr/local/mysql/usr/lib/systemd/system/mysqld.服务/usr/lib/systemd/system/添加运行。sh/run.sh
  运行chmod 755/run.sh
  3306年公开
  CMD (“/run.sh")
  
  # CMD (“mysql_safe")
  
  启# my . cnf中所做动脚本
  vim my.cnf
  [root@localhost mysql-5.7.20] # vi/etc/my.cnf
  (客户端)
  端口=3306
  default-character-set=utf8
  套接字=/usr/local/mysql/mysql.sock
  
  (mysql)
  端口=3306
  default-character-set=utf8
  套接字=/usr/local/mysql/mysql.sock
  
  (mysqld)
  用户=mysql
  basedir=/usr/local/mysql
  datadir=/usr/local/mysql/data
  端口=3306
  character_set_server=utf8
  pid文件=/usr/local/mysql/mysqld.pid
  套接字=/usr/local/mysql/mysql.sock
  服务器id=1
  
  sql_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启动mysql。服务器,,\
  mysql - e“>的所有特权授予vim没有。sh 

如何编写Dockerfile脚本