“向内追求”
这是一个7中练手的小项目的升级版,已知docker容器名字为my_ubuntu,我们需要访问docker容器内的/app/prj文件夹下的所有内容
- 主要是为了解决上一篇文章教程7中的文件必须按规定上传限制的问题
解决方法:
- 上篇已经为宿主机开放了2357端口来使远程访问
- 本篇,在宿主机与docker间再开放一端口811实现apache2文件服务器的文件传输(用nginx也可以,笔者用apache2.实现)
- 二者融合作用很大,基础配置参考7,本篇重点在开放第二端口
1. 实例化容器
两种方法,(着重强调开放811端口),任选其一:
- 第一种:宿主机
sudo docker run -itd --name my_ubuntu -p 811:811 ubuntu:latest
-p参数是811端口映射到本地的811端口
- 第二种,远程
根据教程7的操作, 此时远端已经可以访问我们IP:2375端口来访问本机docker
curl -H "Content-Type: application/json" http://192.112.0.122:2375/containers/create?name=my_ubuntu -d '{
"Image": "ubuntu:latest",
"ExposedPorts": {
"811/tcp": { }
},
"HostConfig": {
"NetworkMode": "host",
"Binds": [
"/tmp:/tmp"
]
},
"Cmd": [
"tail","-f","/dev/null"
]
}'
此处开放了811端口,配合host模式,也是将本地811端口映射到容器的811端口,作为apache2的通信端口(先以一个开放端口为例,后期再配置)
2. 安装apache2
简单的update等命令就不再罗列.
sudo apt-get install apache2 -y
3. apache2设置
3.1 设置服务器IP
宿主机进入容器开启apache2服务:
service apache2 start
此时会