docker系列(八)之 dockerfile编写案例

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhao__zhen/article/details/88357733

docker系列(八)之 dockerfile编写案例

dockerfile编写案例

  1. base镜像(scratch)

Docker Hub中99%的镜像都是通过在base镜像中安装和配置需要的软件构建出来的

  1. 自定义镜像

  • 编写dockerfile
FROM centos
MAINTAINER zane<[email protected]>
ENV mypath /tmp
WORKDIR $mypath
RUN yum -y install vim
RUN yum -y install  net-tools
EXPOSE 80
CMD echo $mypath
CMD echo "success------------OK"
CMD /bin/bash
  • 构建镜像
sudo docker build -f ./Dockerfile2 -t mycentos:1.3 .
  • 测试运行
sudo docker run -it mycentos:1.3

自定义Tomcat9镜像

在当前目录下新建文件 c.txt, 并上传jdk 和tomcat的相应版本

FROM centos
MAINTAINER zane<[email protected]>
#把宿主机当前上下文的c.txt拷贝到容器/usr/local/路径下
COPY c.txt /usr/local/cincontainer.txt
#把java与tomcat添加到容器中
ADD jdk-8u60-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.8.tar.gz /usr/local/
#安装vim编辑器
RUN yum -y install vim
RUN yum -y install wget
#设置工作访问时候的WORKDIR路径,登录落脚点
ENV MYPATH /usr/local
WORKDIR $MYPATH
#配置java与tomcat环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_60
ENV CLASSPATH $JAVA_HOME/1ib/dt.jar:$JAVA_HOME/1ib/tools.jar 
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.8
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_ HOME/bin
#容器运行时监听的端口
EXPOSE 8080
#启动时运行tomcat
CMD ["/usr/local/apache-tomcat-9.0.8/bin/catalina.sh","run"] && tail -f /usr/local/apache-tomcat-9.0.8/logs/catalina.out 

在当前目录下构建镜像

docker build -t zanetomcat9 . 

run镜像

docker run -d -p 9081:8080 --name myt5 -v /home/zane/mydocker/tomcat9/test:/usr/local/apache-tomcat-9.0.8/webapps/test -v /home/zane/mydocker/tomcat9/tomcat9logs/:/usr/local/apache-tomcat-9.0.8/logs  --privileged=true zanetomcat9

Docker 常用安装

  1. 安装mysql

常用命令

docker search mysql 查找MySQL镜像! 
docker pull mysql:5.6 拉去5.6版的镜像!
docker run -p 12345:3306 --name mysql -v /home/zane/mydocker/mysql/conf:/etc/mysql/conf.d -v /home/zane/mydocker/mysql/logs:/logs -v /home/zane/mydocker/mysql/data:/var/1ib/mysql -e MYSQL_ROOT_PASSWORD=zzlzzl -d mysql:5.6
 docker exec -it 容器id /bin/bash
 docker exec f07b9b70f851 sh -c 'exec mysqldump --all-databases -uroot -p "zzlzzl"' > /home/zane/mydocker/mysq	l/all-databases.sql

2.安装redis

docker run -p 6379:6379 -v /home/zane/mydocker/myredis/data:/data -v /home/zane/mydocker/myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf -d redis redis-server  /usr/local/etc/redis/redis.conf --appendonly yes
docker exec -it 6ee8f51585d7 redis-cli

猜你喜欢

转载自blog.csdn.net/zhao__zhen/article/details/88357733