dockerfile指令
需求:安装一个MySQL,且启动
如果是虚拟机部署形式的话如下
1.开启vmware
2.运行某一个虚拟机,centos7
3.centos7安装MySQL,yum install mysql-server
4.通过脚本,或者命令,启动MySQL即可
缺点:部署慢,且修改了宿主机的环境,删除较为麻烦,占用宿主机的一个3306端口
基于容器去运行MySQL
1.开始VMware
2.运行虚拟机centos7
3.安装docker容器环境
4.获取MySQL镜像即可,docker pull mysql:tag(你无法自由控制,该MySQL的基础镜像是什么发行版,你获取的镜像,是别人定制好,你下载使用你希望得到一个基于centos7.8d的发行版本,运行MySQL)
5。直接运行该镜像,通过端口映射,运行MySQLdocker runmysql:5.6(容器能够运行,必须在容器内有一个进程在前台运行,该容器内,有Mysql正在前台运行)
6.访问宿主机的一个映射端口,访问到容器内的MySQL
dockerfile指令
FROM ----这个镜像的妈妈是谁?(指定基础镜像)
MAINTAINER ----告诉别人,谁负责养它? (指定维护者信息,可以没有)
RUN -----你想让它干啥 (在命令前面加上RUN即可)
ADD---- 添加宿主机的文件到容器内 ,还多了一个自动解压的功能
RUN tar -zxf /opt/xx.tgz #报错!该 tgz 文件不存在!!
COPY --- 作用和ADD是一样的,主要是拷贝宿主机的文件到容器内,COPY就是仅仅拷贝
WORKDIR---- 我是cd,今天刚化了妆 (设置当前工作目录)
VOLUME----给它一个存放行李的地方 (设置卷,挂载主机目录)
EXPOSE----它要打开的门是啥 (指定对外的端口)
CMD---- 奔跑吧,兄弟!(指定容器启动后的要千的事情)dockerfile其他指令:
COPY ----复制文件
ENV----环境变量
ENTRYPOINT -----容器启动后执行的命令