本文作者:kris

linux下利用Docker安装mysql的步骤-linux安装docker-ce

kris 2025-01-17 05:30:04 2
linux下利用Docker安装mysql的步骤-linux安装docker-ce摘要: docker容器内怎么连接外部的mysql?1.用-v挂载主机数据卷到容器内[plain]viewplaincopydockerrun-v/path/to/hostdir:/mnt...

docker容器内怎么连接外部的mysql?

1.用-v挂载主机数据卷到容器内

[plain]viewplaincopy

dockerrun-v/path/to/hostdir:/mnt$container

在容器内拷贝

cp/mnt/sourcefile/path/to/destfile

2.直接在主机上拷贝到容器物理存储系统

A.获取容器名称或者id:

[plain]viewplaincopy

$dockerps

B.获取整个容器的id

[plain]viewplaincopy

$dockerinspect-f'{{.Id}}'步骤A获取的名称或者id

C.在主机上拷贝文件:

linux下利用Docker安装mysql的步骤-linux安装docker-ce

图片来源:网络

[plain]viewplaincopy

$sudocppath-file-host/var/lib/docker/aufs/mnt/FULL_CONTAINER_ID/PATH-NEW-FILE

或者

$sudocppath-file-host/var/lib/docker/devicemapper/mnt/123abc>/rootfs/root

例子:

[plain]viewplaincopy

$dockerps

CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES

d8e703d7e303solidleon/ssh:latest/usr/sbin/sshd-Dcranky_pare

$dockerinspect-f'{{.Id}}'cranky_pare

or

$dockerinspect-f'{{.Id}}'d8e703d7e303

d8e703d7e3039a6df6d01bd7fb58d1882e592a85059eb16c4b83cf91847f88e5

$sudocpfile.txt/var/lib/docker/aufs/mnt/**d8e703d7e3039a6df6d01bd7fb58d1882e592a85059eb16c4b83cf91847f88e5

3.用输入输出符

[plain]viewplaincopy

dockerrun-iubuntu/bin/bash-c'cat>/path/to/container/file'

或者

[plain]viewplaincopy

dockerexec-it

如果单指用docker的话 你有很多种办法。

1. 通过 docker run -p 将端口暴露出来 然后 PHP 通过 db 服务器的 IP ➕ port 进行连接

2. 你也可以使用 host 网络模式 通过指定 net 为 host 这种情况你也直接 IP ➕ port 连接

3. 你也可以加个代理容器 通过这个代理来将流量分发过去

通常情况下这三种办法已经能解决你绝大部分的问题了

docker mysql映射数据文件路径是存两份吗?

在使用Docker映射MySQL数据文件路径时,并不会存两份数据文件。Docker使用数据卷来映射数据文件路径,该数据卷是一个主机目录或一个命名的卷容器,该卷容器保存了MySQL数据文件。在容器中对数据的操作实际上是对映射的数据卷中的数据进行的,所以容器中的数据和映射的数据卷是同步的,不会存两份数据文件。

文章版权及转载声明

作者:kris本文地址:https://www.damoyx.com/p/24293.html发布于 2025-01-17 05:30:04
文章转载或复制请以超链接形式并注明出处大漠游侠网

阅读
分享