码迷,mamicode.com
首页 > 其他好文 > 详细

docker-dockerfile

时间:2019-11-20 21:34:38      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:conf   mysqli   自定义   index   catalina   add   zip   libxml2   style   

docker file 

构建自定义的镜像资源

docker file 相关指令

技术图片

 

 add与cp 用法类似,区别是add 具有解压功能

CMD与ENTRYPOINT用法类似,区别是当启动docker 时传递命令参数的话会覆盖CMD的命令参数,还有就是如果有多行CMD命令那么只有最后一行生效。

通过Dockerfile 构建镜像

常见的项目目录结构

ls  /test

nginx  php

[root@localhost test]# tree
.
├── nginx
│   ├── Dockerfile
│   ├── nginx.conf
│   └── nginx.tar.gz
└── php
├── Dockerfile
├── php.ini
└── php.tar.gz

php  dockerfile

技术图片
FROM centos:7
MAINTAINER www.aliangedu.com
RUN yum install -y gcc gcc-c++ make gd-devel libxml2-devel libcurl-devel libjpeg-devel libpng-devel openssl-devel
ADD php-5.6.31.tar.gz /tmp/

RUN cd /tmp/php-5.6.31 &&     ./configure --prefix=/usr/local/php     --with-config-file-path=/usr/local/php/etc     --with-mysql --with-mysqli     --with-openssl --with-zlib --with-curl --with-gd     --with-jpeg-dir --with-png-dir --with-iconv     --enable-fpm --enable-zip --enable-mbstring &&     make -j 4 &&     make install &&     cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf &&     sed -i "s/127.0.0.1/0.0.0.0/" /usr/local/php/etc/php-fpm.conf &&     sed -i "21a \daemonize = no" /usr/local/php/etc/php-fpm.conf
COPY php.ini /usr/local/php/etc

RUN rm -rf /tmp/php-5.6.31* && yum clean all

WORKDIR /usr/local/php
EXPOSE 9000
CMD ["./sbin/php-fpm", "-c", "/usr/local/php/etc/php-fpm.conf"]
View Code

java dockerfile

技术图片
FROM centos:7
MAINTAINER www.aliangedu.com 

ADD jdk-8u45-linux-x64.tar.gz /usr/local
ENV JAVA_HOME /usr/local/jdk1.8.0_45

ADD apache-tomcat-8.0.46.tar.gz /usr/local
COPY server.xml /usr/local/apache-tomcat-8.0.46/conf

RUN rm -f /usr/local/*.tar.gz

WORKDIR /usr/local/apache-tomcat-8.0.46
EXPOSE 8080
ENTRYPOINT ["./bin/catalina.sh", "run"]
View Code

创建镜像

docker  image  build  -t  index/image-name  -f  /path/Dockerfile  path

image 可省略,-t 指定创建镜像索引路径和名称,-f 指定Dockerfile 路径如果不写默认就是后面path路径下的名字为Dockerfile 文件,path 上下文路径:就是Dockerfile 中命令执行的路径,例如复制文件就是在这个路径下寻找要复制的文件的。

创建lnmp 环境

技术图片
1、自定义网络
docker network create lnmp

2、创建PHP容器
docker run -itd --name lnmp_php --net lnmp --mount type=bind,src=/app/wwwroot/,dst=/usr/local/nginx/html php:v1

3、创建Nginx容器
docker run -itd --name lnmp_nginx --net lnmp --mount type=bind,src=/app/wwwroot/,dst=/usr/local/nginx/html nginx:v1

4、创建MySQL容器
docker run -itd --name lnmp_mysql --net lnmp -p 3306:3306 --mount src=mysql-vol,dst=/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql --character-set-server=utf8
View Code

 

 

docker-dockerfile

标签:conf   mysqli   自定义   index   catalina   add   zip   libxml2   style   

原文地址:https://www.cnblogs.com/fanggege/p/11900665.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!