跟着尚硅谷系统学习Docker-【day07】
day07-20200722
p27.dockerfile案例编写-3
第一步:编写父dockerfile
DockerFile_20200722_2
|
FROM centos
RUN yum -y install curl
ENTRYPOINT [ "curl","-s","http://www.baidu.com" ]
ONBUILD RUN echo "继承父镜像 onbuild 886"
|
第二步:构建镜像
【docker build -f DockerFile_20200722_2 -t fyr/centos:20200722.2 .】
第三步:编写子dockerfile
DockerFile_20200722_3
|
FROM fyr/centos:20200722.2
RUN yum -y install curl
CMD [ "curl","-s","http://www.baidu.com" ]
|
第四步:构建镜像
【docker build -f DockerFile_20200722_3 -t fyr/centos:20200722.3 .】
父镜像在被子继承后父镜像的onbuild被触发
Sending build context to Docker daemon 7.168kB
Step 1/3 : FROM fyr/centos:20200722.2
# Executing 1 build trigger
---> Running in 592e0ff1548f
继承父镜像 onbuild 886
Removing intermediate container 592e0ff1548f
---> 8916ecb06c90
|
p28.dockerfile案例编写-4
自定义的tomcat~一个案例把所有的保留字指令写出来
准备工作:
1.新建文件夹:/tmp/mydockerfile/tomcat
2.新建文件:/tmp/mydockerfile/tomcat:cp.txt,用于演示拷贝信息,add有解压缩。
3.上传tomcat和jdk:/tmp/mydockerfile/tomcat
第一步:编写dockerfile
DockerFile
|
#导入基础镜像
FROM centos
#设置作者邮箱
MAINTAINER fengyarong
#拷贝宿主机文件到
COPY cp.txt /usr/local/cincontainer.txt
#ADD 解压缩
ADD jdk-8u201-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-7.0.93.tar.gz /usr/local/
#安装vim
RUN yum -y install vim
#修改登陆后的工作目录
ENV MYPATH /usr/local
WORKDIR $MYPATH
#设置配置环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_201
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-7.0.93
ENV CATALINA_BASE /usr/local/apache-tomcat-7.0.93
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
#端口
EXPOSE 8080
#启动tomcat的三种方法
# ENTRYPOINT [ "/usr/local/apache-tomcat-7.0.93/bin/startup.sh" ]
# CMD [ "/usr/local/apache-tomcat-7.0.93/bin/startup.sh","run" ]
CMD /usr/local/apache-tomcat-7.0.93/bin/startup.sh && tail -F /usr/local/apache-tomcat-7.0.93/bin/logs/catalina.out
|
第二步:构建镜像
【docker build -f DockerFile -t fyr/tomcat7-jdk8 .】
不写-f会默认在当前路径下Dockerfile文件,注意是Dockerfile,f不是大写的噢!
最后面的【.】一定不可以省略
构建成功会出现以下信息。
第三步:运行容器
【docker run -d -p 8888:8080 --name fyr-tomcat -v /tmp/mydockerfile/tomcat/test:/usr/local/apache-tomcat-7.0.93/webapps/test -v /tmp/mydockerfile/tomcat/logs:/usr/local/apache-tomcat-7.0.93/logs --privileged=true fyr/tomcat7-jdk8 】
-d后台运行,--name自己命名
-v添加容器卷
--privileged=true有问题才加
【dockers ps】
第四步:验证
p29.dockerfile案例编写-5
在上面构建的镜像基础上
启动自己的war包项目,拿Jenkins举例。
在/tmp/mydockerfile/tomcat/test/上传jenkins.war
然后运行:
【docker run -d -p 1111:8080 --name fyr-tomcat-Jenkins -v /tmp/mydockerfile/tomcat/test:/usr/local/apache-tomcat-7.0.93/webapps -v /tmp/mydockerfile/tomcat/logs:/usr/local/apache-tomcat-7.0.93/logs --privileged=true fyr/tomcat7-jdk8 】
【docker inspect】是个好东西,关键时刻帮你忙!!!
映射的日志可以看到
验证,启动成功
p30.dockerfile总结
保留字指令-dockerfile-docker build-docker images-docker run - (docker build)
p31.docker 安装mysql
搜索-拉取-查看-运行-检查
【 docker search mysql】
【docker pull mysql:5.6】
【docker images】
【docker run -p 3306:3306 --name fyr_mysql -v /tmp/mydockerfile/mysql/conf:/etc/mysql/conf.d -v /tmp/mydockerfile/mysql/logs:/var/log/mysql -v /tmp/mydockerfile/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1 -d mysql:5.6】
-e:指定密码
【docker ps -q】
【docker exec -it 09130f7d4009 /bin/bash 】
【mysql -uroot -p】
【show databases】
【create database fyr】
外部连接
成功!