Dockerfile制作镜像

网友投稿 318 2022-10-30

Dockerfile制作镜像

Dockerfile制作镜像

目录:

tomcat的Dockerfile脚本 nginx.1.12.0的Dockerfile脚本 mysql的Dockerfile脚本 删除错误镜像和容器脚本 tomcat的Dockerfile脚本

cd /opt mkdir tomcat cd tomcat vim Dockerfile FROM centos:7 MAINTAINER this is tomcat ADD jdk-8u91-linux-x64.tar.gz /usr/local/ WORKDIR /usr/local/ RUN 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 PATH $PATH:/usr/local/java/bin:/usr/local/java/jre/bin ENV CLASSPATH /usr/local/java/jre/bin:/usr/local/java/lib:/usr/local/java/jre/lib/charsets.jar ADD apache-tomcat-8.5.16.tar.gz /usr/local WORKDIR /usr/local/ RUN mv apache-tomcat-8.5.16 /usr/local/tomcat8 EXPOSE 8080 ENTRYPOINT ["/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 /opt mkdir nginx cd nginx vim Dockerfile FROM centos:7 MAINTAINER this is nginx RUN yum -y update RUN yum -y install wget pcre-devel zlib-devel make zlib gcc gcc-c++ openssl-devel net-tools RUN useradd -M -s /sbin/nologin nginx ADD nginx-1.12.0.tar.gz /usr/local/src WORKDIR /usr/local/src WORKDIR nginx-1.12.0 RUN ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --with-&& make && make install ENV PATH /usr/local/nginx/sbin:$PATH EXPOSE 80 EXPOSE 443 RUN echo "daemon off;">>/usr/local/nginx/conf/nginx.conf WORKDIR /root/nginx ADD run.sh /run.sh RUN chmod 755 /run.sh CMD ["/run.sh"] #nginx启动文档 vim run.sh #!/bin/bash /usr/local/nginx/sbin/nginx docker build -t nginx:new . docker run -d -P nginx:new

mysql的Dockerfile脚本

mkdir mysql cd mysql/ vim Dockerfile FROM centos:7 MAINTAINER 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 #上传jingx ADD 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.cnf ADD my.cnf /etc RUN 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/data RUN cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/ ADD run.sh /run.sh RUN chmod 755 /run.sh EXPOSE 3306 CMD ["/run.sh"] #CMD ["mysql_safe"] #my.cnf启动脚本 vim my.cnf [root@localhost mysql-5.7.20]#vi /etc/my.cnf [client] port = 3306 default-character-set=utf8 socket = /usr/local/mysql/mysql.sock [mysql] port = 3306 default-character-set=utf8 socket = /usr/local/mysql/mysql.sock [mysqld] user = mysql basedir = /usr/local/mysql datadir = /usr/local/mysql/data port = 3306 character_set_server=utf8 pid-file = /usr/local/mysql/mysqld.pid socket = /usr/local/mysql/mysql.sock server-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 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-insecure docker exec -it 镜像ID /bin/bash

删除错误镜像和容器

cd /opt vim none.sh #!/bin/bash docker ps -a | grep "Exited" | awk '{print $1 }' |xargs docker stop docker ps -a | grep "Exited" | awk '{print $1 }' |xargs docker rm docker images | grep none | awk '{print $3 }' | xargs docker rmi

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:USB2.0控制器CY7C68013的接口设计实现
下一篇:Docker制作镜像
相关文章

 发表评论

暂时没有评论,来抢沙发吧~