让Docker容器显示卷
通过使用Docker的-v选项,可以在容器内显示主机操作系统中任何目录的任何位置。
sudo docker run -d -v ホストOSディレクトリ:コンテナでのマウント先ディレクトリ --name コンテナ名 -i -t イメージ名 /bin/bash
為了方便操作 (qianzhunbei) ,只需要一種選擇的中文重述「(前準備)楽に操作するために」:为了轻松地操作。
将希望操作docker组的用户加入该组。
因为每次都要输入sudo太麻烦了。
sudo usermod ユーザ名 -G 既存グループ名・ID,docker
让容器显示宿主操作系统的目录
docker run -d -p 80:80 -v /home/ubuntu/nodecode:/opt/nodecode --name nodejs002 -i -t node /bin/bash
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a21c33a1756c node "/bin/bash" 5 seconds ago Up 4 seconds 0.0.0.0:80->80/tcp nodejs002
我将主机操作系统中的/home/ubuntu/nodecode目录挂载到容器内的/opt/nodecode目录中。
这次使用了Node.js容器。
请在/home/ubuntu/nodecode目录下创建以下文件。
var http = require('http');
var server = http.createServer();
server.on('request', doRequest);
server.listen(80);
console.log('Server running!');
function doRequest(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.write('Hello World\n');
res.end();
}
从集装箱内确认
请从docker run的描述中查看/opt/nodecode目录下是否创建了test.js文件。
docker exec -it nodejs002 /bin/bash
cd /opt/nodecode
ls -la
total 8
drwxrwxr-x 2 1000 1000 4096 Jul 15 15:39 .
drwxr-xr-x 3 root root 22 Jul 15 15:36 ..
-rw-rw-r-- 1 1000 1000 276 Jul 15 15:39 test.js
可以确认test.js文件存在。
刚才在容器内启动nodejs,执行了test.js的内容。
node test.js
Server running!
在启动之后,执行Docker容器并访问VM上的TCP 80端口。

收到了如期待的字符串(Hello World!)。
总结一下
只需一个选项,将以下内容用中文进行同义转述:
– 可以使用-v选项将主机操作系统上的文件显示给容器。
此外,还可以使用它来启动应用程序。