docker 容器中数据主要有两种方式
-
数据卷( Data Volumes )
数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录往载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数据在宿主机与容器之间的迁移。数据卷的使用类似于 Linux 下对目录进行的 mount 操作。
-
数据卷容器(DataVolumes Containers)
如果需要在容器之间共享一些数据,最简单的方法就是使用数据卷容器。数据卷容器是一个普通的容器,专门提供数据卷给其他容器挂载使用
docker 镜像结构的分层
镜像不是一个单一的文件,而是有多层构成。容器其实是在镜像的最上面加了一服务器托管网层读写层,在运行容器里做的任何文件改动,都会写到这个读写层如果删除了容器,也就删除了其最上面的读写层,文件改服务器托管网动也就丢失了。Docker使用存储驱动管理镜像每层内容及可读写层的容器层。
(1)dockerfile 中的每个指令都会创建一个新的镜像层
(2)镜像曾将被缓存和复用
(3)当 dockerfile 的指令修改了,复制的文件变化了或者构建镜像时指定的变量不同了,对应的镜像层缓存就会失效
(4)某一层的镜像缓存失效之后,它之后的镜像层缓存都会失效
(5)镜像层是不可变的,如果在某一层中添加一个文件,然后在下一层中删除它,则镜像中依然会包含该文件
docker 镜像的创建
创建镜像有三种方法,分别为基于已有镜像创建、基于本地模板创建以及基于Dockerfile创建
1、基于现有镜像创建
docker run 创建并且启动容器,再通过docker exec/cp 等容器操作指定修改容器内容 ,再去用 docker commit 提交成新的镜像
2、基于本地模板创建
从网上先下载现有的镜像模板,或使用 docker export 到处本地容器快照模板,再用 docker import 将我们的快照导入成本地镜像
3、基于dockerfile创建
Dockerfile结构大致分为四个部分:
基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。Dockerfile每行支持一条指令,每条指令可携带多个参数,支持使用以“#“号开头的注释
dockerfile 常用指令
-
FROM 镜像
指定新镜像所基于的基础镜像,第一个指令必须为 FROM 指令,每创建一个镜像就需要一条 FROM指令
-
MAINTAINER 名字
说明镜像的维护人信息
-
RUN 命令
所基于的镜像上执行命令,并提交到新的镜像中
-
ENTRYPOINT 【”要运行的程序”,”参数1″,”参数2″】
设定容器启动时第一个运行的命令及其参数。
-
CMD 【”要运行的程序”,”参数1″,”参数2″】
启动容器时默认执行的命令或者脚本,dockerfile只能有一条 CMD命令,如有多条,只执行最后一条
-
EXPOSE 端口号
指定新镜像加载到 Docker 时要开启的端口 EXPOSE 8090
-
ENV 环境变量 变量值
设置一个环境变量的值,会被后面的 RUN 使用
-
ADD 源文件/目录 目标文件/目录
将源文件复制到镜像中,源文件要与 Dockerfile 位于相同目录中,或者是一个 URL
-
COPY 源文件/目录 目标文件/目录
只复制本地主机上的文件/目录复制到目标地点,源文件/目录要与Dockerfile 在相同的目录中
-
VOLUME [“目录”]
在容器中创建一个挂载点
-
USER 用户名/UID
指定运行容器时的用户
-
WORKDIR 路径 /home
为后续的RUN、CMD、ENTRYPOINT 指定工作目录
-
ONBUILD 命令【坑,注意】
指定所生成的镜像作为一个基础镜像时所要运行的命令
-
healthcheck:
健康检查
dockerfile搭建lnmp
1、创建虚拟网关
2、Dockerfile 搭建nginx(容器IP 为 172.18.0.10)
将压缩包拖至nginx目录下
Vim编辑Dockerfile文件
生成镜像
创建容器并指定端口号和 ip
3、Dockerfile 搭建 mysql(容器IP 为 172.18.0.20)
在opt目录下创建mysql目录,并将mysql压缩包拖至目录
编辑vim Dockerfile文件
创建my.cnf文件
生成镜像
创建并启动容器
4、Dockerfile 搭建 php(容器IP 为 172.18.0.30)
Vim 编辑Dockerfile文件
生成镜像
创建容器
切换到mysql容器,进入数据库,创建名为wordpress的库,并赋权
5、浏览器访问:192.168.86.55/wordpress/index.php
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
随着我国宠物经济的蓬勃发展和市场规模的稳步扩大,尽管与一些已经成熟的发达国家相比,国内宠物行业仍有广阔的发展前景,因此宠物行业蕴含着巨大的发展机遇; 数据来源:艾瑞咨询(截至2021年3月) 数据来源:中国宠物行业白皮书服务器托管网——2022年中国宠物消费报…