当前位置:   article > 正文

docker基础篇_docker hostpath

docker hostpath

目录

一.docker简介

1.docker出现的缘由

2.容器与虚拟机比较

3.docker官网:

二.docker安装

前提说明

1.docker的基本组成:

Docker工作原理

Docker平台架构图解(架构版)

2.CentOS7安装Docker

1.卸载旧版本

2.yum安装gcc相关

3.安装需要的软件包

4.设置stable镜像仓库

5.更新yum软件包索引

6.安装DOCKER CE

7.启动docker

8.测试

3.阿里云镜像加速 

 三.Docker常用命令

1、帮助启动类命令

2、镜像命令

列出本地主机上的镜像        

查询镜像

下载镜像

查看镜像/容器/数据卷所占的空间

删除镜像

面试题:谈谈docker虚悬镜像是什么?

3、容器命令

新建+启动容器

列出当前所有正在运行的容器        

退出容器

启动已停止运行的容器

重启容器

停止容器        

强制停止容器        

删除已停止的容器        

查看容器日志

查看容器内运行的进程

查看容器内部细节

进入正在运行的容器并以命令行交互

上述两个区别:

从容器内拷贝文件到主机上

导入和导出容器

四.Docker镜像

分层的镜像

UnionFS(联合文件系统)

Docker镜像加载原理

 为什么 Docker 镜像要采用这种分层结构呢

重点理解

 Docker镜像commit操作案例

命令

五.本地镜像发布到阿里云

 镜像的生成方法

将本地镜像推送到阿里云

进入管理界面获得脚本 

将镜像推送到阿里云registry

 将阿里云上的镜像下载到本地

六.本地镜像发布到私有库

私有库:

将本地镜像推送到私有库

1.下载镜像Docker Registry

2.运行私有库Registry,相当于本地有个私有Docker hub

3.案例演示创建一个新镜像,centos安装ifconfig命令

4.curl验证私服库上有什么镜像(虚拟机ip:192.168.31.215)

5.将新镜像zzyyubuntu:1.2修改符合私服规范的Tag

6.修改配置文件使之支持http

7.push推送到私服库

8.curl验证私服库上有什么镜像2

9.pull到本地并运行

七.Docker容器数据卷

注意事项

功能:

命令格式:

数据卷案例

宿主vs容器之间映射添加容器卷

读写规则映射添加说明

卷的继承和共享

八.Docker常规安装简介

8.1总体步骤

8.2安装tomcat

docker hub上面查找tomcat镜像

从docker hub上拉取tomcat镜像到本地

docker images查看是否有拉取到的tomcat

使用tomcat镜像创建容器实例(也叫运行镜像)

访问猫首页访问猫首页

免修改版说明

8.3安装mysql

docker hub上面查找mysql镜像

从docker hub上(阿里云加速器)拉取mysql镜像到本地标签为5.7

使用mysql5.7镜像创建容器(简单版)有错误

 实战版

安装redis

从docker hub上(阿里云加速器)拉取redis镜像到本地标签为6.0.8

入门命令

命令提醒

在CentOS宿主机下新建目录/app/redis 

将一个redis.conf文件模板拷贝进/app/redis目录下

/app/redis目录下修改redis.conf文件

/app/redis目录下修改redis.conf文件

** 使用redis6.0.8镜像创建容器(也叫运行镜像)**

 测试redis-cli连接上来

证明docker启动使用了我们自己指定的配置文件


一.docker简介

1.docker出现的缘由

解决了运行环境和配置问题的软件容器,
方便做持续集成并有助于整体发布的容器虚拟化技术。

2.容器与虚拟机比较

*传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;
*容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
* 每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。

3.docker官网:

docker官网:http://www.docker.com

Docker Hub官网: https://hub.docker.com/

二.docker安装

前提说明

目前,CentOS 仅发行版本中的内核支持 Docker。Docker 运行在CentOS 7 (64-bit)上,
要求系统为64位、Linux系统内核版本为 3.8以上,这里选用Centos7.x

uname -r cat /etc/redhat-release

1.docker的基本组成:

镜像(image)

容器(container)

仓库(repository)

Docker工作原理

Docker是一个Client-Server结构的系统,Docker守护进程运行在主机上, 然后通过Socket连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。 容器,是一个运行时环境

Docker平台架构图解(架构版)

Docker 是一个 C/S 模式的架构,后端是一个松耦合架构,众多模块各司其职。

2.CentOS7安装Docker

https://docs.docker.com/engine/install/centos/

1.卸载旧版本

  1. systemctl stop docker
  2. yum remove docker-ce docker-ce-cli containerd.io
  3. rm -rf /var/lib/docker
  4. rm -rf /var/lib/containerd

2.yum安装gcc相关

  1. yum -y install gcc
  2. yum -y install gcc-c++

3.安装需要的软件包

yum install -y yum-utils

4.设置stable镜像仓库

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5.更新yum软件包索引

yum makecache fast

6.安装DOCKER CE

yum -y install docker-ce docker-ce-cli containerd.io

7.启动docker

systemctl start docker

8.测试

  1. docker version
  2. docker run hello-world

3.阿里云镜像加速 

  1. sudo mkdir -p /etc/docker
  2. sudo tee /etc/docker/daemon.json <<-'EOF'
  3. {
  4. "registry-mirrors": ["https://vtozzi4l.mirror.aliyuncs.com"]
  5. }
  6. EOF
  7. sudo systemctl daemon-reload
  8. sudo systemctl restart docker

 三.Docker常用命令

1、帮助启动类命令

启动docker: systemctl start docker

查看docker概要信息: docker info

查看docker总体帮助文档: docker --help

查看docker命令帮助文档: docker 具体命令 --help

2、镜像命令

列出本地主机上的镜像        

docker images

-a :列出本地所有的镜像(含历史映像层)

-q :只显示镜像ID。

查询镜像

docker search [OPTIONS] 镜像名字

docker search --limit 5 redis        --limit : 只列出N个镜像,默认25个

下载镜像

docker pull 镜像名字[:TAG]

查看镜像/容器/数据卷所占的空间

docker system df

删除镜像

docker rmi 某个XXX镜像名字ID

删除多个:        docker rmi -f 镜像名1:TAG 镜像名2:TAG

删除全部:        docker rmi -f $(docker images -qa)

面试题:谈谈docker虚悬镜像是什么?

仓库名、标签都是<none>的镜像,俗称虚悬镜像dangling image

3、容器命令

有镜像才能创建容器,
docker pull centos

新建+启动容器

docker run [OPTIONS]   images   [COMMAND]  [ARG...]

option:

--name="容器新名字"     
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
也即启动交互式容器(前台有伪终端,等待交互);
-P: 随机端口映射,大写P
-p: 指定端口映射,小写p

列出当前所有正在运行的容器        

docker ps [OPTIONS]

-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。

退出容器

exit        run进去容器,exit退出,容器停止

ctrl+p+q        run进去容器,ctrl+p+q退出,容器不停止

启动已停止运行的容器

docker start 容器ID或者容器名

重启容器

docker restart 容器ID或者容器名

停止容器        

docker stop 容器ID或者容器名

强制停止容器        

docker kill 容器ID或容器名

删除已停止的容器        

docker rm 容器ID

一次性删除多个容器实例

docker rm -f $(docker ps -a -q)        docker ps -a -q | xargs docker rm

查看容器日志

docker logs 容器ID

查看容器内运行的进程

docker top 容器ID

查看容器内部细节

docker inspect 容器ID

进入正在运行的容器并以命令行交互

docker exec -it 容器ID /bin/bash

重新进入docker attach 容器ID

上述两个区别:

attach 直接进入容器启动命令的终端,不会启动新的进程   用exit退出,会导致容器的停止。

exec 是在容器中打开新的终端,并且可以启动新的进程  用exit退出,不会导致容器的停止。

从容器内拷贝文件到主机上

docker cp  容器ID:容器内路径 目的主机路径

导入和导出容器

export 导出容器的内容留作为一个tar归档文件[对应import命令]

import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]

docker export 容器ID > 文件名.tar

cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

  1. attach Attach to a running container # 当前 shell 下 attach 连接指定运行镜像
  2. build Build an image from a Dockerfile # 通过 Dockerfile 定制镜像
  3. commit Create a new image from a container changes # 提交当前容器为新的镜像
  4. cp Copy files/folders from the containers filesystem to the host path #从容器中拷贝指定文件或者目录到宿主机中
  5. create Create a new container # 创建一个新的容器,同 run,但不启动容器
  6. diff Inspect changes on a container's filesystem # 查看 docker 容器变化
  7. events Get real time events from the server # 从 docker 服务获取容器实时事件
  8. exec Run a command in an existing container # 在已存在的容器上运行命令
  9. export Stream the contents of a container as a tar archive # 导出容器的内容流作为一个 tar 归档文件[对应 import ]
  10. history Show the history of an image # 展示一个镜像形成历史
  11. images List images # 列出系统当前镜像
  12. import Create a new filesystem image from the contents of a tarball # 从tar包中的内容创建一个新的文件系统映像[对应export]
  13. info Display system-wide information # 显示系统相关信息
  14. inspect Return low-level information on a container # 查看容器详细信息
  15. kill Kill a running container # kill 指定 docker 容器
  16. load Load an image from a tar archive # 从一个 tar 包中加载一个镜像[对应 save]
  17. login Register or Login to the docker registry server # 注册或者登陆一个 docker 源服务器
  18. logout Log out from a Docker registry server # 从当前 Docker registry 退出
  19. logs Fetch the logs of a container # 输出当前容器日志信息
  20. port Lookup the public-facing port which is NAT-ed to PRIVATE_PORT # 查看映射端口对应的容器内部源端口
  21. pause Pause all processes within a container # 暂停容器
  22. ps List containers # 列出容器列表
  23. pull Pull an image or a repository from the docker registry server # 从docker镜像源服务器拉取指定镜像或者库镜像
  24. push Push an image or a repository to the docker registry server # 推送指定镜像或者库镜像至docker源服务器
  25. restart Restart a running container # 重启运行的容器
  26. rm Remove one or more containers # 移除一个或者多个容器
  27. rmi Remove one or more images # 移除一个或多个镜像[无容器使用该镜像才可删除,否则需删除相关容器才可继续或 -f 强制删除]
  28. run Run a command in a new container # 创建一个新的容器并运行一个命令
  29. save Save an image to a tar archive # 保存一个镜像为一个 tar 包[对应 load]
  30. search Search for an image on the Docker Hub # 在 docker hub 中搜索镜像
  31. start Start a stopped containers # 启动容器
  32. stop Stop a running containers # 停止容器
  33. tag Tag an image into a repository # 给源中镜像打标签
  34. top Lookup the running processes of a container # 查看容器中运行的进程信息
  35. unpause Unpause a paused container # 取消暂停容器
  36. version Show the docker version information # 查看 docker 版本号
  37. wait Block until a container stops, then print its exit code # 截取容器停止时的退出状态值

四.Docker镜像

        是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件。

分层的镜像

UnionFS(联合文件系统)

是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下

特性:一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录

Docker镜像加载原理

docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统UnionFS

bootfs(boot file system)主要包含bootloader和kernel, bootloader主要是引导加载kernel, Linux刚启动时会加载bootfs文件系统,在Docker镜像的最底层是引导文件系统bootfs。

rootfs (root file system) ,在bootfs之上。包含的就是典型 Linux 系统中的 /dev, /proc, /bin, /etc 等标准目录和文件。

 为什么 Docker 镜像要采用这种分层结构呢

镜像分层最大的一个好处就是共享资源,方便复制迁移,就是为了复用。
 比如说有多个镜像都从相同的 base 镜像构建而来,那么 Docker Host 只需在磁盘上保存一份 base 镜像;同时内存中也只需加载一份 base 镜像,就可以为所有容器服务了。而且镜像的每一层都可以被共享。

重点理解

Docker镜像层都是只读的,容器层是可写的
当容器启动时,一个新的可写层被加载到镜像的顶部。这一层通常被称作“容器层”,“容器层”之下的都叫“镜像层”。

所有对容器的改动 - 无论添加、删除、还是修改文件都只会发生在容器层中。只有容器层是可写的,容器层下面的所有镜像层都是只读的

 Docker镜像commit操作案例

docker commit提交容器副本使之成为一个新的镜像

命令

docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]

五.本地镜像发布到阿里云

 镜像的生成方法

基于当前容器创建一个新的镜像,新功能增强
docker commit [OPTIONS] 容器ID [REPOSITORY[:TAG]]

-a :提交的镜像作者;
-m :提交时的说明文字;

将本地镜像推送到阿里云

进入管理界面获得脚本 

将镜像推送到阿里云registry

  1. docker login --username=w**** registry.cn-qingdao.aliyuncs.com
  2. docker push registry.cn-qingdao.aliyuncs.com/why_up/mycentos:1.3

 将阿里云上的镜像下载到本地

docker pull registry.cn-qingdao.aliyuncs.com/why_up/mycentos:1.3

六.本地镜像发布到私有库

私有库:

1 官方Docker Hub地址:https://hub.docker.com/,中国大陆访问太慢了且准备被阿里云取代的趋势,不太主流。
 2 Dockerhub、阿里云这样的公共镜像仓库可能不太方便,涉及机密的公司不可能提供镜像给公网,所以需要创建一个本地私人仓库供给团队使用,基于公司内部项目构建镜像。
         Docker Registry是官方提供的工具,可以用于构建私有镜像仓库

将本地镜像推送到私有库

1.下载镜像Docker Registry

docker pull registry 

2.运行私有库Registry,相当于本地有个私有Docker hub

docker run -d -p 5000:5000  -v /myregistry/:/tmp/registry --privileged=true registry

3.案例演示创建一个新镜像,centos安装ifconfig命令

从Hub上下载centos镜像到本地并成功运行

原始的centos镜像是不带着ifconfig命令的

外网连通的情况下,安装ifconfig命令并测试通过

yum -y insatll net-tools

安装完成后,commit我们自己的新镜像

公式:
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]

docker commit -m='ifconfig add' -a="why" b92f9b8af29b myct02:1.2

4.curl验证私服库上有什么镜像(虚拟机ip:192.168.31.215)

 curl -XGET http://192.168.31.215:5000/v2/_catalog

5.将新镜像zzyyubuntu:1.2修改符合私服规范的Tag

按照公式: docker   tag   镜像:Tag        

docker tag myct02:1.2 192.168.31.215:5000/myct02:1.2

6.修改配置文件使之支持http

vim命令新增如下内容:vim /etc/docker/daemon.json

  1. {
  2. "registry-mirrors": ["https://aa25jngu.mirror.aliyuncs.com"],
  3. "insecure-registries": ["192.168.31.215:5000"]
  4. }

docker默认不允许http方式推送镜像,通过配置选项来取消这个限制。====> 修改完后如果不生效,建议重启docker

7.push推送到私服库

docker push 192.168.31.215:5000/myct02:1.2

8.curl验证私服库上有什么镜像2

curl -XGET http://192.168.31.215:5000/v2/_catalog

9.pull到本地并运行

docker pull 192.168.31.215:5000/myct02:1.2

启动验证ifconfig命令

七.Docker容器数据卷

注意事项

--privileged=true

Docker挂载主机目录访问如果出现cannot open directory .: Permission denied
解决办法:在挂载目录后多加一个--privileged=true参数即可
 如果是CentOS7安全模块会比之前系统版本加强,不安全的会先禁止,所以目录挂载的情况被默认为不安全的行为,在SELinux里面挂载目录被禁止掉了额,如果要开启,我们一般使用--privileged=true命令,扩大容器的权限解决挂载目录没有权限的问题,也即使用该参数,container内的root拥有真正的root权限,否则,container内的root只是外部的一个普通用户权限。

功能:

*  将运用与运行的环境打包镜像,run后形成容器实例运行 ,但是我们对数据的要求希望是持久化的
 
Docker容器产生的数据,如果不备份,那么当容器实例删除后,容器内的数据自然也就没有了。
为了能保存数据在docker中我们使用卷。
特点:
1:数据卷可在容器之间共享或重用数据
2:卷中的更改可以直接实时生效,爽
3:数据卷中的更改不会包含在镜像的更新中
4:数据卷的生命周期一直持续到没有容器使用它为止

命令格式:

 docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录      镜像名

数据卷案例

宿主vs容器之间映射添加容器卷

直接命令添加         docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录      镜像名

查看数据卷是否挂载成功        docker inspect 容器ID

 容器和宿主机之间数据共享

1  docker修改,主机同步获得
2 主机修改,docker同步获得
3 docker容器stop,主机修改,docker容器重启看数据是否同步

读写规则映射添加说明

读写(默认)

只读

 docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro      镜像名

卷的继承和共享

容器1完成和宿主机的映射

docker run -it  --privileged=true -v /mydocker/u:/tmp --name u1 ubuntu

容器2继承容器1的卷规则

docker run -it  --privileged=true --volumes-from 父类  --name u2 ubuntu

docker run -d --privileged=true --volumes-from u1 --name u2  ubuntu

八.Docker常规安装简介

8.1总体步骤

搜索镜像        拉取镜像        查看镜像        启动镜像        停止容器        移除容器

8.2安装tomcat

docker hub上面查找tomcat镜像

docker search tomcat

从docker hub上拉取tomcat镜像到本地

docker pull tomcat

docker images查看是否有拉取到的tomcat

docker images tomcat

使用tomcat镜像创建容器实例(也叫运行镜像)

docker run -it -p 8080:8080 tomcat

访问猫首页访问猫首页

问题

解决

1.可能没有映射端口或者没有关闭防火墙 

2.把webapps.dist目录换成webapps

先启动Tomcat

docker exec -it tomcat bash

查看webapps 文件夹查看为空

免修改版说明

docker pull billygoo/tomcat8-jdk8

docker run -d -p 8080:8080 --name mytomcat8 billygoo/tomcat8-jdk8

8.3安装mysql

docker hub上面查找mysql镜像

docker search mysql

从docker hub上(阿里云加速器)拉取mysql镜像到本地标签为5.7

docker pull mysql:5.7

使用mysql5.7镜像创建容器(简单版)有错误

使用mysql镜像

  1. docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d --name mysql57_1 mysql:5.7
  2. docker ps
  3. docker exec -it 容器ID /bin/bash
  4. mysql -uroot -p

建库建表插入数据

外部Win10也来连接运行在dokcer上的mysql容器实例服务

 问题

插入中文数据报错

字符集默认格式问题

SHOW VARIABLES LIKE 'character%'

 实战版

新建mysql容器实例

docker run -d -p 3306:3306 --privileged=true -v /mysql/log:/var/log/mysql -v /mysql/data:/var/lib/mysql -v /mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456  --name mysql mysql:5.7 --restart=always

新建my.cnf

cd /mysql/conf/

vim my.cnf

  1. [client]
  2. default_character_set=utf8
  3. [mysqld]
  4. collation_server = utf8_general_ci
  5. character_set_server = utf8

重新启动mysql容器实例再重新进入并查看字符编码

 

 再新建库新建表再插入中文测试

测试成功

结论

docker安装完MySQL并run出容器后,建议请先修改完字符集编码后再新建mysql库-表-插数据

假如将当前容器实例删除,再重新来一次,之前建的db01实例还有吗?trytry

安装redis

从docker hub上(阿里云加速器)拉取redis镜像到本地标签为6.0.8

docker pull redis:6.8

入门命令

命令提醒

容器卷记得加入--privileged=true

在CentOS宿主机下新建目录/app/redis 

  mkdir -p /app/redis

将一个redis.conf文件模板拷贝进/app/redis目录下

 拷贝配置文件        将准备好的redis.conf文件放进/app/redis目录下

/app/redis目录下修改redis.conf文件

  1. protected-mode no
  2. port 6379
  3. tcp-backlog 511
  4. timeout 0
  5. tcp-keepalive 300
  6. daemonize no
  7. supervised no
  8. pidfile /var/run/redis_6379.pid
  9. loglevel notice
  10. logfile ""
  11. databases 10
  12. always-show-logo yes
  13. save 900 1
  14. save 300 10
  15. save 60 10000
  16. stop-writes-on-bgsave-error yes
  17. rdbcompression yes
  18. rdbchecksum yes
  19. dbfilename dump.rdb
  20. dir ./
  21. replica-serve-stale-data yes
  22. replica-read-only yes
  23. repl-diskless-sync no
  24. repl-diskless-sync-delay 5
  25. repl-disable-tcp-nodelay no
  26. replica-priority 100
  27. lazyfree-lazy-eviction no
  28. lazyfree-lazy-expire no
  29. lazyfree-lazy-server-del no
  30. replica-lazy-flush no
  31. appendonly no
  32. appendfilename "appendonly.aof"
  33. appendfsync everysec
  34. no-appendfsync-on-rewrite no
  35. auto-aof-rewrite-percentage 100
  36. auto-aof-rewrite-min-size 64mb
  37. aof-load-truncated yes
  38. aof-use-rdb-preamble yes
  39. lua-time-limit 5000
  40. slowlog-log-slower-than 10000
  41. slowlog-max-len 128
  42. latency-monitor-threshold 0
  43. notify-keyspace-events Ex
  44. hash-max-ziplist-entries 512
  45. hash-max-ziplist-value 64
  46. list-max-ziplist-size -2
  47. list-compress-depth 0
  48. set-max-intset-entries 512
  49. zset-max-ziplist-entries 128
  50. zset-max-ziplist-value 64
  51. hll-sparse-max-bytes 3000
  52. stream-node-max-bytes 4096
  53. stream-node-max-entries 100
  54. activerehashing yes
  55. client-output-buffer-limit normal 0 0 0
  56. client-output-buffer-limit replica 256mb 64mb 60
  57. client-output-buffer-limit pubsub 32mb 8mb 60
  58. hz 10
  59. dynamic-hz yes
  60. aof-rewrite-incremental-fsync yes
  61. rdb-save-incremental-fsync yes

/app/redis目录下修改redis.conf文件

 开启redis验证    可选
    requirepass 123
 允许redis外地连接  必须
     注释掉 # bind 127.0.0.1


 daemonize no
     将daemonize yes注释起来或者 daemonize no设置,因为该配置和docker run中-d参数冲突,会导致容器一直启动失败

 开启redis数据持久化  appendonly yes  可选

** 使用redis6.0.8镜像创建容器(也叫运行镜像)**

docker run  -p 6379:6379 --name myr3 --privileged=true -v /app/redis/redis.conf:/etc/redis/redis.conf -v /app/redis/data:/data -d redis:6.0.8 redis-server /etc/redis/redis.conf

 测试redis-cli连接上来

 docker exec -it 运行着Rediis服务的容器ID redis-cli

证明docker启动使用了我们自己指定的配置文件

修改前        我们用的配置文件,数据库默认是16个

 修改后

 宿主机的修改会同步给docker容器里面的配置。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/323805
推荐阅读
相关标签
  

闽ICP备14008679号