如果單指用docker的話你有很多種辦法。
1.通過dockerrun-p將端口暴露出來然后PHP通過db服務器的IP?port進行連接
2.你也可以使用host網絡模式通過指定net為host這種情況你也直接IP?port連接
3.你也可以加個代理容器通過這個代理來將流量分發過去
通常情況下這三種辦法已經能解決你絕大部分的問題了
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.在主機上拷貝文件:
[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