容器化部署mariadb(dockerfile详解)

打印 上一主题 下一主题

主题 1855|帖子 1855|积分 5565

镜像的定制现实上就是定制每一层所添加的设置、文件。假如我们可以把每一层修改、安装、构建、操纵的命令都写入一个脚本,用这个脚原来构建、定制镜像。这个脚本就是 Dockerfile           Dockerfile    一样平常分为四部分:   基础镜像信息、维护者信息、镜像操纵指令、容器启动实验指令   。       一开始必须要指明所基于的镜像名称,接下来一样平常会说明维护者信息;反面则是镜像操纵指令,比方 RUN 指   令。       每实验一条   RUN    指令,镜像添加新的一层,并提交;末了是   CMD    指令,来指明运行容器时的操纵   命令    容器化部署mariadb

  1.新建一个目录

  1. mkdir -p /root/dockerfile
复制代码
2.搭建当地yum源

  1. mount /dev/cdrom /mnt/
  2. mkdir -p /root/dockerfile/centos7-2009
  3. cp -r /mnt/* /root/dockerfile/centos7-2009
  4. umount /mnt/
复制代码
3.切换到dockerfile目录

  1. cd /root/dockerfile
复制代码
4.编写repo文件

  1. vi local.repo   # 在dockerfile目录里编写
  2. [centos]
  3. name=centos7-2009
  4. baseurl=file:///opt/centos7-2009
  5. gpgcheck=0
  6. enabled=1
复制代码

  5.在编辑一个脚原来设置mariadb的设置

  1. vi run.sh
  2. #!/bin/bash
  3. mysql_install_db --user=root           #初始化mariadb
  4. mysqld_safe --user=root &              #启动mariadb等待8秒   
  5. sleep 8
  6. mysqladmin -u root password 'root'     设置mariadb的密码
  7. mysql -uroot -proot -e "grant all on *.* to 'root'@'%' identified by 'root';  #赋予权限
  8. flush privileges;"        #刷新权限
复制代码

   6.下载我主页的centos7.9-2009镜像包传到虚拟机里利用

不会的可以私信我
7. 编写dockerfile文件

  1. vi dockerfile-mariadb
  2. FROM centos:centos7.9.2009
  3. RUN rm -rf /etc/yum.repos.d/*
  4. COPY centos7-2009 /opt/centos7-2009
  5. ADD local.repo /etc/yum.repos.d/
  6. RUN yum install -y mariadb-server
  7. ADD run.sh /opt/
  8. RUN chmod +x /opt/run.sh
  9. RUN /opt/run.sh
  10. EXPOSE 3306
  11. CMD [ "mysqld_safe","--user=root" ]
  12. FROM 这个镜像的妈妈是谁?(指定基础镜像)
  13. MAINTAINER 告诉别人,谁负责养它?(指定维护者信息,可以没有)
  14. RUN 你想让它干啥(在命令前面加上RUN即可)
  15. ADD 给它点创业资金(COPY文件,会自动解压)
  16. WORKDIR 我是cd,今天刚化了妆(设置容器内部的当前工作目录)
  17. VOLUME 给它一个存放行李的地方(设置卷,挂载主机目录)
  18. EXPOSE 它要打开的门是啥(指定对外的端口)
  19. CMD 奔跑吧,兄弟!(指定容器启动后的要干的事情)
  20. COPY 复制文件
  21. ENV 环境变量
  22. ENTRYPOINT 容器启动后执行的命令(注意和CMD区别)
复制代码
统共须要这些 

 8.开始实验实验容器化部署

  1. docker build -t mariadb:v1.0 -f dockerfile-mariadb .    #注意最后面的.是使用相对路径当前目录的意思
复制代码

9.实验完成后开始验证

检察docker镜像里有没有部署完成
  1. docker images
复制代码

10.创建这个镜像的容器进入mariadb

  1. docker run -itd --name=mariadb mariadb:v1.0
  2. docker ps   #查看容器有没有运行和容器的id
复制代码

11.进入容器 

  1. docker exec -it d65c /bin/bash
  2. # d65c是容器id只输入前四位就好
复制代码

12.进入mariadb
暗码是之前在run.sh脚本是更改的可以看一下脚本的内容

成功利用dockerfile容器化部署mariadb

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

悠扬随风

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表