Centos7中的docker使用教程(2)
使用dockerFile构建镜像
DockerFile:
什么是dockerFile:
DockerFile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。它们简化了从头到尾的流程,并极大的简化了部署工作。DockerFile从FROM命令开始,紧接着各种方法,命令和参数。其产出一个新的可以用于创建容器的自定义镜像。 |
dockerFile的基本使用语法:
FROM:定义了使用哪个基础镜像启动构建流程。FROM命令必须是DockerFile的首个命令。 #Usage:FROM [ image name ] FROM ubuntu |
MAINTAINER:这个命令用于定义声明作者,通常放于FROM的后面。 #Usage:MAINTAINER [ name ] MAINTAINER authors_name |
ADD/COPY:将本地文件添加到容器中,tar类型的文件会自动解压(网络资源不会被解压),可以访问网络资源,类似wegt。COPY功能类似ADD,但是不会自动解压文件,也不能访问网络资源。 #Usage: ADD [ source directory or URL ] [ destination directory ] ADD /my_app_folder /my_app_folder |
docker build [name] 根据dockerFile构造自定义镜像 |
使用dockerFile构造tomcat与mysql镜像
构造tomcat镜像:
创建工作目录:如图 编写Dockerfile文件:文件内容如下 #基础镜像为centos FROM centos # 维护该镜像的用户 MAINTAINER this is tomcat image <sdk> # 安装JDK环境,设置其环境变量 ADD jdk1.8.0_201 /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.39 /usr/local/tomcat #开启端口 EXPOSE 8080 构造镜像:docker build -t tomcat:centos . 运行容器:docker run -d -p 8888:8080 --name sdk tomcat 访问验证: |
构建mysql镜像:
创建工作目录: 编写dockerFile文件: FROM guyton/centos6 MAINTAINER this is msyql images <sdk> RUN yum install mysql mysql-server RUN /etc/init.d/mysqld start &&\ mysql -e "grant all privileges on *.* to 'root'@'%' identified by 'abc123';" &&\ mysql -e "grant all privileges on *.* to 'root'@'localhost' identified by 'abc123';" #root在本地,非本地登录时都使用abc123密码 EXPOSE 3306 CMD ["mysqld_safe"] 构造镜像: docker build -t centos6:mysql . 运行容器: docker run --name=mysqlserver -d -P centos6:mysql 连接验证: 成功! |