Docker学习-第2天
1.容器数据卷
docker是将应用和环境打包成一个镜像!如果删除容器,数据就丢失。
容器之间可以有一个数据共享的技术!Docker容器中产生的数据,同步到本地。这就是卷技术!
目录的挂载,将我们容器内的目录,挂载到Linux上面。
容器的持久化和同步操作!容器间也是可以数据共享的。
2.使用数据卷
1.方式1:直接使用命令来挂载 -v
docker run -it -v 主机目录:容器内目录
范例:
docker run -it -v /home/ceshi:/home centos /bin/bash
3.安装MySQL
1.获取mysql8.0.28镜像文件
docker pull mysql:8.0.28
2.运行容器,需要做数据挂载
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:8.0.28
参数说明:
-d 后台运行
-p 端口映射
-v 卷挂载
-e 环境配置
--name 容器名字
3.使用MySQL Workbench连接,查看是否连接成功,注意端口号为3310
4.连接成功后,使用MySQL Workbench创建一个数据库
5.删除容器,查看本地的数据文件.我们挂载到本地的数据卷依旧没有丢失,这就实现了容器数据持久化功能。
docker rm -f mysql01
3.具名挂载和匿名挂载
1.匿名挂载
格式: -v 容器内路径
docker run -d -P --name nginx02 -v /etc/nginx nginx
默认存在的地址为:
/var/lib/docker/volumes/随机生成的码/_data
2.具名挂载
格式: -v 卷名:容器内路径
docker run -d -P --name nginx03 -v juming-nginx:/etc/nginx nginx
默认存放的地址为 /var/lib/docker/volumes/具名/_data

3.指定路径挂载
格式:-v /主机路径:容器内路径
4.数据容器卷
父数据卷运行
1. docker run -it --name docker01 louis/centos:2.0

2. 从父容器 生成子容器
docker run -it --name docker02 --volumes-from docker01 louis/centos:2.0

3.从父容器生成子容器
docker run -it --name docker03 --volumes-from docker01 louis/centos:2.0
容器之间配置信息的传递,数据卷容器的生命周期一直持续到没有容器使用为止。
一旦持久化到本地,本地的数据是不会删除的。
5.DockerFile
dockerfile是用来构建docker镜像的文件,命令参数脚本。
构建步骤:
1. 编写一个dockerfile文件
2. docker build 构建成为一个镜像
3. docker run 运行镜像
4. docker push 发布镜像(DockerHub、阿里云镜像仓库)
6.DockerFile指令
常用的命令:
FROM #基础镜像,一切从这里开始构建
MAINTAINER #镜像谁写的,姓名+邮箱
RUN #镜像构建的时候需要运行的命令
ADD #添加资源,tomcat镜像、mysql镜像等
WORKDIR #镜像的工作目录
WOLUME #挂载的目录
EXPOSE #暴露端口
CMD #指定这个容器启动的时候要运行的命令
ENTRYPOINT #指定之歌容器启动的时候要运行的命令,可以追加命令
ONBUILD #当构建一个被继承DockerFile,这个时候就会运行ONBUILD的
指令。触发指令
COPY #类似于ADD,讲我们的文件拷贝到镜像中
ENV #构建的时候设置环境变量
7.DockerFile实例-创建一个自己的镜像
1.编写dockerfile文件
FROM centos:7
MAINTAINER louis<78211111@qq.com>
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "----------------end--------------"
CMD /bin/bash

2.通过dockerfile文件构建镜像文件
docker build -f mydockerfile -t mycentos:1.0 .
3.进入生成的镜像中
docker run -it mycentos:1.0

4.查看本地镜像的变更历史
docker history 容器id

浙公网安备 33010602011771号