首页
学习
活动
专区
圈层
工具
发布

Docker配置mysql以及宿主机容器目录挂载

Docker配置mysql以及宿主机容器目录挂载 在之前的docker 挂载中主要说明了创建数据卷并挂载的方式。现在我们做一种创建普通目录并进行挂载的方式。 基于mysql镜像的拉取并进行配置。...首先拉取mysql镜像 docker pull mysql:8.0.29 这样直接拉取完毕后,你再去查看下目前投的镜像 docker images 你看这个版本的镜像就有了 因为mysql...其实这些文件春 docker run \ --name mysql -p 3306:3306 -v /mysql/mysql/data:/var/lib/mysql \ -v /mysql/mysql...对参数做一个解释说明 –name : 对运行容器起一个名字,当然你这里不叫mysql 也是可以的,就是一个名字而已 -p 指定端口,注意这里两个端口的指定。一般叫做把宿主机的端口映射到容器。...将来我们在我们主机连接远程服务器,我们的远程服务器的注解地址加上这个端口就是我们这个mysql容器的访问链接。 -v 这里后面我们就是做了一个宿主目录和容器目录的挂载映射。

3.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    docker:(3)docker容器挂载宿主主机目录

    有一项重要的参数 -v 目录挂载,就是让容器内部目录和宿主主机目录关联起来,这样就可以直接操作宿主主机目录而不用再操作具体容器了 比如在2中,我们要发布一个war包,是通过   sudo docker...肯定有, 没有 我就不会在这里写这些玩意儿了 sudo docker run -p 8822:8080 --name tomcat_xiao_volume -v /home/xiaochangwei/test...,冒号前为宿主主机目录,冒号后为容器对应目录   执行上面的命令启动,这次启动就和上一篇文章中的启动日志有点差异了:差异就在容器启动时,tomcat加载了我们映射的宿主主机目录中的war包 xiaochangwei...@ubuntu:~/test$ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED...,有发布需求的时候,直接将war包拷贝到宿主主机目录即可,容器叫什么名字,对应的容器的发布路径在哪里就与发布者无关了 下一篇文章我将讲解和jekins集成,让代码编译好后自动部署到docker中 2015

    3.8K10

    docker挂载volume的用户权限问题,理解docker容器的uid

    docker挂载volume的用户权限问题,理解docker容器的uid ? 在刚开始使用docker volume挂载数据卷的时候,经常出现没有权限的问题。...然后,通过volume挂载的方式,指定运行user为1000, 启动容器node: docker run -d --rm --name test -u 1000:1000 -v $(pwd):/tmp...即,docker run -u 可以指定宿主机运行docker命令的用户, -u指定的uid就是docker实际运行的进程拥有者。 接下来去容器内部,看看能不能修改挂载的文件。 ?...一定要确保容器执行者的权限和挂载数据卷对应 本文最初的问题就是因为容器执行者和挂载数据卷的权限不同。容器内部运行是uid=0的用户,数据卷从属与uid=1000的ryan。...最终导致容器写入数据卷的文件权限升级为root, 从而普通用户无法访问。 如果挂载了root的文件到容器内部,而容器内部执行uid不是0,则报错没有权限。

    15.9K21

    Docker容器案例:应用 Mysql

    前阶段体验 Mysql 的新版本 5.7.13,由于机器里已经有 Mysql了,再安装另一个版本会有一些麻烦,为了简单,便使用 Docker 容器来安装 可能有人会认为没必要,在一台机器安装多个 Mysql...,就可以在Docker容器中安装,他们各自独立,不会互相影响 ?...容器启动后,就可以进入 ubuntu 的 shell,进行正常操作,例如 [root@8f6f3cad2 /]# (4)把Mysql安装包拷贝到容器中 在主机中下载好 Mysql 5.7.13 的安装包...,然后通过 Docker 的拷贝命令将其放到容器内部 ?...6)在主机中连接 Mysql 在主机中使用 Mysql 的客户端进行连接,连接信息: Host - 分配给Docker的IP(可通过 Docker命令获得) Username - test Password

    1.7K30

    Docker挂载卷错误:无法在容器中访问主机文件

    Docker挂载卷错误:无法在容器中访问主机文件 博主 默语带您 Go to New World....☕ 《MYSQL从入门到精通》数据库是开发者必会基础之一~ 吾期望此文有资助于尔,即使粗浅难及深广,亦备添少许微薄之助。苟未尽善尽美,敬请批评指正,以资改进。!...⌨ Docker挂载卷错误:无法在容器中访问主机文件 摘要 作为一位充满热情的技术博主,我深入研究了Docker容器中的挂载卷问题。...本文将重点探讨在Docker中挂载卷时可能遇到的错误,特别是容器无法访问主机文件的情况。我们将深入剖析此问题的原因,并提供解决方案,以确保您的Docker挂载卷顺利运行。...在深入研究挂载卷错误之前,让我们先了解为什么在Docker中使用挂载卷。 1. 数据持久性 挂载卷允许容器中的数据在容器生命周期之外保持持久性。

    4.8K10

    Docker具名挂载和匿名挂载

    ---- 结论 匿名挂载:卷挂载只写容器里面的路径,不写容器外的路径 如何确定是匿名挂载还是具名挂载,还是指定路径挂载 -v 容器内路径 #匿名挂载 -v 卷名:容器内路径 #具名挂载 -v /宿主内路径...:容器内路径 #指定路径挂载 ---- 1、匿名挂载 # docker run -d -P --name nginx01 -v /etc/nginx nginx //端口映射-p(小写)、-P(大写...)区别 -p指定要映射的端口,一个指定端口上只可以绑定一个容器 -P将容器内部开放的网络端口随机映射到宿主机的一个端口上,即对外开放的端口是随机的 查看所有volume情况 # docker volume...---- 2.具名挂载 具名挂载:就是挂载的卷定义一个自己的名字,可以方便的查找 # docker run -d -P --name nginx02 -v Bertram:/etc/nginx nginx...容器内的卷,没有指定目录的情况下都是在 '/data/docker/volumes’目录下 这里默认的存储路径是修改过的,如何修改大家可以参考这篇文章 我们通过具名挂载以方便的找到我们的一个卷,大多数使用的都是具名挂载

    3K10

    Docker安装MySql-挂载外部数据和配置

    在上一篇中《在CentOS7中使用Docker安装MySql》中介绍了怎样在Docker中安装Mysql,但存在两个问题: 1、用户密码和字符集等的设置,需要安装完MySql后,进入到MySql中去设置...,非常麻烦; 2、配置文件和数据文件都在MySql的容器内,不是很安全。...=mysql_native_password 数据和配置挂载到宿主机 为了安全性,我们应该将数据和配置放到宿主机中,首先执行下面的命令创建data目录和config目录 mkdir mysqltest...=utf8 [mysql] default-character-set=utf8 执行下面命令创建容器 docker run -d -p 4306:3306 --restart always -...2、使用-v参数挂接外部数据时,如果data目录已经存在容器能正常启动吗? 3、在docker run命令中添加镜像参数和直接在my.cnf中设置有什么区别? ----

    6.9K31

    【权限提升】Linux系统&Docker挂载&Rsync未授权&Sudo-CVE&Polkit-CVE

    Linux系统&Docker挂载&Rsync未授权&Sudo-CVE&Polkit-CVE Rsync(未授权访问) Docker组挂载 SUDO(CVE-2021-3156)版本漏洞 Polkit(CVE...组挂载 条件:普通用户在docker组,利用docker服务启动镜像挂载目录 从而来访问root目录、etc目录等敏感文件来进行权限提升。...-利用: docker run -v /root:/mnt -it alpine 主要的作用是:从Docker上面下载alpine镜像,然后运行; -v将容器外部的目录/root(其他目录也可以...) 挂载到容器内部/mnt,使用-it参数进入容器shell。...补充:拿到普通用户权限后,并且该用户在docker中,意思就是可以控制docker服务 管理员将真实物理机/root目录挂载到容器内部/mnt中,-it参数进入容器shell, SUDO(CVE-

    93410

    Docker数据挂载

    Docker数据管理 在容器中管理数据主要有两种方式: 数据卷(Volumes) 挂载主机目录(Bind mounts) ?...即使容器被删除 注意:数据卷的使用,类似于Linux下目录的使用或文件进行mount,镜像中的被指定为挂载点的目录中的文件会隐藏掉,能显示看的是挂载的数据卷。...创建一个数据卷: docker volume create my-volume 查看指定数据卷的信息: docker volume inspect my-volume 启动一个挂载数据卷的容器: 在用...docker run 命令的时候,使用—mount 来将数据卷挂载到容器,在一次 docker run 中可以挂载多个数据卷。...无主的数据卷可能会占据很多空间,可以使用以下命令进行清理: docker volume prune 挂载主机目录 使用 —mount 可以指定挂载一个本地主机的目录到容器中去: docker run -

    3.3K20

    在 Docker 中部署 Mysql 并挂载配置文件

    在 Docker 中部署 MySQL 并挂载配置文件,可以使用以下步骤: 创建本地目录 首先,在主机上创建一个目录,用于存放 MySQL 的配置文件。...pull mysql 启动 MySQL 容器 使用以下命令启动一个名为 mysql 的 MySQL 容器,并将主机的 mysql 目录挂载到容器内的 /etc/mysql/conf.d 目录: docker...:/etc/mysql/conf.d 将主机的 mysql 目录挂载到容器内的 /etc/mysql/conf.d 目录,-v /path/to/mysql/data:/var/lib/mysql 将主机的...mysql/data 目录挂载到容器内的 /var/lib/mysql 目录,-e MYSQL_ROOT_PASSWORD= 指定 MySQL 的 root 用户的密码,-d 表示以后台模式启动容器...以上就是在 Docker 中部署 MySQL 并挂载配置文件的步骤。需要注意的是,MySQL 的配置文件可以根据实际需求进行自定义,可以参考 MySQL 官方文档进行配置。

    3.2K20

    CentOS7中Docker文件挂载,容器中没有执行权限

    在CentOS7中运行NodeJs的容器,发现挂载的本地目录在容器中没有执行权限,经过各种验证和Google搜索,找到了问题的原因,这里做一下记录。...原因是CentOS7中的安全模块selinux把权限禁掉了,至少有以下三种方式解决挂载的目录没有权限的问题: 1,在运行容器的时候,给容器加特权: 示例:docker run -i -t --privileged...=true -v /home/docs:/src waterchestnut/nodejs:0.12.0 2,临时关闭selinux: 示例:su -c "setenforce 0" 之后执行:docker...home/docs:/src waterchestnut/nodejs:0.12.0 注意:之后要记得重新开启selinux,命令:su -c "setenforce 1" 3,添加selinux规则,将要挂载的目录添加到白名单...: 示例:chcon -Rt svirt_sandbox_file_t /home/docs 之后执行:docker run -i -t -v /home/docs:/src waterchestnut

    2.6K30
    领券