镜像的定制现实上就是定制每一层所添加的设置、文件。假如我们可以把每一层修改、安装、构建、操纵的命令都写入一个脚本,用这个脚原来构建、定制镜像。这个脚本就是 Dockerfile Dockerfile 一样平常分为四部分: 基础镜像信息、维护者信息、镜像操纵指令、容器启动实验指令 。 一开始必须要指明所基于的镜像名称,接下来一样平常会说明维护者信息;反面则是镜像操纵指令,比方 RUN 指 令。 每实验一条 RUN 指令,镜像添加新的一层,并提交;末了是 CMD 指令,来指明运行容器时的操纵 命令 容器化部署mariadb
1.新建一个目录
- mkdir -p /root/dockerfile
复制代码 2.搭建当地yum源
- mount /dev/cdrom /mnt/
- mkdir -p /root/dockerfile/centos7-2009
- cp -r /mnt/* /root/dockerfile/centos7-2009
- umount /mnt/
复制代码 3.切换到dockerfile目录
4.编写repo文件
- vi local.repo # 在dockerfile目录里编写
- [centos]
- name=centos7-2009
- baseurl=file:///opt/centos7-2009
- gpgcheck=0
- enabled=1
复制代码
5.在编辑一个脚原来设置mariadb的设置
- vi run.sh
- #!/bin/bash
- mysql_install_db --user=root #初始化mariadb
- mysqld_safe --user=root & #启动mariadb等待8秒
- sleep 8
- mysqladmin -u root password 'root' 设置mariadb的密码
- mysql -uroot -proot -e "grant all on *.* to 'root'@'%' identified by 'root'; #赋予权限
- flush privileges;" #刷新权限
复制代码
6.下载我主页的centos7.9-2009镜像包传到虚拟机里利用
不会的可以私信我
7. 编写dockerfile文件
- vi dockerfile-mariadb
- FROM centos:centos7.9.2009
- RUN rm -rf /etc/yum.repos.d/*
- COPY centos7-2009 /opt/centos7-2009
- ADD local.repo /etc/yum.repos.d/
- RUN yum install -y mariadb-server
- ADD run.sh /opt/
- RUN chmod +x /opt/run.sh
- RUN /opt/run.sh
- EXPOSE 3306
- CMD [ "mysqld_safe","--user=root" ]
- FROM 这个镜像的妈妈是谁?(指定基础镜像)
- MAINTAINER 告诉别人,谁负责养它?(指定维护者信息,可以没有)
- RUN 你想让它干啥(在命令前面加上RUN即可)
- ADD 给它点创业资金(COPY文件,会自动解压)
- WORKDIR 我是cd,今天刚化了妆(设置容器内部的当前工作目录)
- VOLUME 给它一个存放行李的地方(设置卷,挂载主机目录)
- EXPOSE 它要打开的门是啥(指定对外的端口)
- CMD 奔跑吧,兄弟!(指定容器启动后的要干的事情)
- COPY 复制文件
- ENV 环境变量
- ENTRYPOINT 容器启动后执行的命令(注意和CMD区别)
复制代码 统共须要这些
8.开始实验实验容器化部署
- docker build -t mariadb:v1.0 -f dockerfile-mariadb . #注意最后面的.是使用相对路径当前目录的意思
复制代码
9.实验完成后开始验证
检察docker镜像里有没有部署完成
10.创建这个镜像的容器进入mariadb
- docker run -itd --name=mariadb mariadb:v1.0
- docker ps #查看容器有没有运行和容器的id
复制代码
11.进入容器
- docker exec -it d65c /bin/bash
- # d65c是容器id只输入前四位就好
复制代码
12.进入mariadb
暗码是之前在run.sh脚本是更改的可以看一下脚本的内容
成功利用dockerfile容器化部署mariadb
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |