FROM nginx:latest
WORKDIR /usr/share/nginx/html
COPY index.html index.html
修改index.html文件如下:
<html>
<body>
<h1>Bind Mounting</h1>
<p>This is a demo.</p>
</body>
</html>
创建镜像
docker build -t vincent/my-nginx .
创建容器
docker run -d -p 80:80 --name web vincent/my-nginx
查看运行状态
[vagrant@10 docker-nginx]$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
190b2e296c54 vincent/my-nginx "nginx -g 'daemon of…" 2 seconds ago Up 1 second 0.0.0.0:80->80/tcp web
可以看到web容器是up的。
访问本机80端口获取web容器的内容
[vagrant@10 docker-nginx]$ curl 127.0.0.1
<html>
<body>
<h1>Bind Mounting</h1>
<p>This is a demo.</p>
</body>
</html>
curl使用http协议的时候默认是80端口,https默认是443,我们是可以不需要加端口号的。
我们也可以在笔记本中去访问这台虚拟机的80端口服务
vincent@dell-Inspiron-7559$: curl http://192.168.2.32
<html>
<body>
<h1>Bind Mounting</h1>
<p>This is a demo.</p>
</body>
</html>
也可以通过浏览器访问查看,ip首先要在虚拟机内通过ip a获取。
重新创建web容器并指定volume
删除web容器
docker rm -f web
这条命令会强制删除一个正在运行的容器,不推荐使用。
重新创建容器,并指定挂载 /home/vagrant/docker-nginx/ 目录。
docker run -d -p 80:80 -v /home/vagrant/docker-nginx/:/usr/share/nginx/html --name web vincent/my-nginx
查看被挂载的目录在容器内情况
进入web容器
docker exec -it web /bin/bash
查看 /usr/share/nginx/html 目录下有哪些内容
root@cb7e310d02fd:/usr/share/nginx/html# ls /usr/share/nginx/html
Dockerfile index.html