第137天学习打卡(Docker 数据容器卷 DockerFile)

数据容器卷

多个mysql同步数据

image-20210525144403877

# 启动3个容器,通过自己写的镜像启动
# --volumes-from 只要通过它我们就可以实现容器间的数据共享

[root@kuangshen /]# docker run -it --name docker01 kuangshen/centos:1.0
[root@8a0acd2bca04 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  volume01	volume02
[root@8a0acd2bca04 /]# ls -l
[root@kuangshen /]# docker run -it --name docker02 --volumes-from docker01 kuangshen/centos:1.0 
[root@fc875d7eaf43 /]# cd volume01
[root@fc875d7eaf43 volume01]# ls
docker01
[root@fc875d7eaf43 volume01]# clear
bash: clear: command not found
[root@fc875d7eaf43 volume01]# exit
exit
[root@kuangshen /]# clear
[root@kuangshen /]# docker run -it --name docker03 --volumes-from docker01 kuangshen/centos:1.0
[root@e4d22f7d9079 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  volume01	volume02
[root@e4d22f7d9079 /]# cd volume01
[root@e4d22f7d9079 volume01]# ls
docker01
[root@e4d22f7d9079 volume01]# touch docker03
[root@e4d22f7d9079 volume01]# ls
[root@e4d22f7d9079 volume01]# ls
docker01  docker03
[root@e4d22f7d9079 volume01]# exit
exit

image-20210525145700198

image-20210525150336446

image-20210525150859870

#测试:可以删除docker01,查看docker02和docker03是否还可以访问这个文件
# 测试依旧可以访问

image-20210525153618987

image-20210525153958540

多个mysql实现数据共享

[root@kuangshen home]# docker run -d -p 3310:3306 -v /etc/mysql/conf.d -v /var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:8.0.23

[root@kuangshen home]# docker run -d -p 3310:3306 -v /etc/mysql/conf.d -v /var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql02 --volumes-from mysql:8.0.23

# 这个时候可以实现两个容器数据同步!

结论:

容器之间配置信息的传递,数据卷容器的生命周期一直持续到没有容器为止。

但是一旦持久化到了本地,这个时候,本地的数据时不会删除的!

DockerFile

dockerfile是用来构建docker镜像文件!命令参数脚本!

构建步骤:

1.编写一个dockerfile文件

2.docker build构建成为一个镜像

3.docker run运行镜像

4.docker push发布镜像(DockerHub 、阿里云镜像仓库!)

查看官方是怎么进行搭建镜像的比如centos的:

image-20210525160103780

image-20210525155926609

很多官方镜像都是基础包,很多功能没有,我们通常会自己搭建自己的镜像!

DockerFile构建过程

基础知识:

1.每个保留关键字(指令)都必须是大写字母

2.执行从上到下顺序执行

3.# 表示注释

4.每个指令都会创建提交一个镜像层,并提交!

image-20210525213806832

dockerfile是面向开发的,以后要发布项目,做镜像,就需要编写dockerfile文件,这个文件十分简单。Docker镜像逐渐成为企业交付的标准,必须要掌握!
Docker镜像逐渐成为企业交付的标准,必须掌握!

步骤:开发,部署, 运维…缺一不可!

DockerFile:构建文件,定义了一切步骤,源代码!
DockerImages:通过DockerFile构建生成的镜像,最终发布和运行的产品!

Docker容器:容器就是镜像运行起来提供服务器。

DockerFile的指令

FROM       #基础镜像,一切从这里开始构建
MAINTAINER #镜像是谁写的, 姓名 + 邮箱
RUN        # 镜像构建的时候需要运行的命令
ADD        # 步骤:添加内容
WORKDIR    #镜像的工作目录
EXPOSE     #保留端口配置
CMD        # 指定这个容器启动的时候要运行的命令,只有最后一个会生效, 可被替代
ENTRYPOINT #指定这个容器启动的时候要运行的命令,可以追加命令!
ONBUILD    #当构建一个被集成DockerFile 这个时候就会运行ONBUILD 的指令。触发指令。
COPY       #类似ADD,将我们文件拷贝到镜像中
ENV        #构建的时候设置环境变量!

B站学习网址:【狂神说Java】Docker最新超详细版教程通俗易懂_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值