1.容器数据卷

  容器之间有一个数据共享的技术!Docker容器中产生的数据,同步到本地!这就是卷技术!目录的挂载:将我们的容器内的目录挂载到Linux上面!

  容器的持久化和同步操作!容器间也是可以数据共享的!

  -v 挂载

  docker run -v -it 主机目录:容器目录

docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql
  -e MYSQL_ROOT_PASSWORD=   设置mysql密码

docker怎么编排 docker $pwd_docker

 

  比较并判断,得出结论同步!

2.具名和匿名挂载

  匿名挂载  

  

docker run -d -P --name nginx01 -v /etc/nginx nginx

   

docker怎么编排 docker $pwd_docker怎么编排_02

 

  

docker怎么编排 docker $pwd_docker_03

 

  具名挂载

  

docker run -d -P --name nginx02 -v named:/etc/nginx nginx

  

docker怎么编排 docker $pwd_docker_04

 

 

docker怎么编排 docker $pwd_docker_05

 

 

  注意一些后面会标ro和rw,默认rw

  ro: 只读           看到这个说明只能宿主机操作,容器内部无法操作

  rw:读写

3.DockerFile

  DockerFile:就是用来构建docker镜像的构建文件

  测试完挂载的脚本方法

  1.在/home 下创建一个目录,并VIM一个文件 

  

docker怎么编排 docker $pwd_tomcat_06

 

  

docker怎么编排 docker $pwd_mysql_07

 

   2.创建镜像

   

docker build -f /home/cishi/DockerFile0 -t centos .

   

docker怎么编排 docker $pwd_mysql_08

 

    

docker怎么编排 docker $pwd_tomcat_09

 

4.数据卷容器

  

docker怎么编排 docker $pwd_mysql_10

 

   实现多个mysql数据同步     --volumes -from 继承

  例如: docker run -it --name docker01 centos

     docker run -it --name docker2 --volumes -from docker01 centos

     实例比较文件的不同,进行创建,删除操作

  结论:容器之间配置信息的传递,数据卷容器的生命周期一直持续到没有容器使用为止,但是一旦你持久化到了本地这时候,本地数据是不会被删除的。、

       DockerFile基础知识

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

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

  3.# 表示注解

  4.每个指令都会创建提交一个新的镜像层

  

docker怎么编排 docker $pwd_tomcat_11

 

  4.练习(1)


  1.创建一个centos

  

docker怎么编排 docker $pwd_tomcat_12

 

   2.通过这个文件构建镜像

  

docker怎么编排 docker $pwd_docker_13

 

    

 

 

 

   CMD与ENTRYPOINT的区别

   CMD是 替换只保留最后一个   例如: CMD ["ls","-a"]       运行这个加-l 不会变成 ls -al 会变成 -l  ,只能用ls -al替换ls -a

   而ENTRYPOINT是添加会变成 ls -al 

5.练习(2)

  1.准备镜像文件,tomcat压缩包,jdk压缩包

  

docker怎么编排 docker $pwd_docker怎么编排_14

 

   2.编写dockerfile文件,我所使用的是官方名所以不用定位

       

docker怎么编排 docker $pwd_mysql_15

 

   

   3.构建镜像 

  

docker怎么编排 docker $pwd_docker怎么编排_16

 

 

docker怎么编排 docker $pwd_docker_17

 

  4.运行镜像 

docker run -d -p 9090:8080 --name shuiditomcat -v /home/shuidi/tomcat/test:/usr/local/apache-tomcat-9.0.45/webapps/test -v /home/shuidi/tomcat/logs/:/usr/local/apache-tomcat-9.0.45/logs mytomcat

  

docker怎么编排 docker $pwd_mysql_18

 

   5.测试访问

  

docker怎么编排 docker $pwd_mysql_19

 

   6.发布项目(由于放了卷挂载,我们可以直接在本地编写项目)

  

docker怎么编排 docker $pwd_mysql_20

 

 

  

docker怎么编排 docker $pwd_docker怎么编排_21

  测试加上/test 注意看下tomcat包中是否有测试这项!