docker可以存在自身的网络配置和数据卷管理方式,首先docker容器作为一个独立的运行单元,可以有独立的IP地址、端口等信息。同时,nginx是无状态的,当docker重启之后,容器会恢复到初始化镜像状态(即docker是无状态的),数据卷的存在实现了宿主机和docker容器之间的数据共享,本篇文章以nginx容器为例进行。
nginx pull nginx
1、docker网络配置
docker run指定网络参数
-P 宿主机和docker容器之间的端口映射采用随机端口映射
-p 指定映射
(1)随机端口映射
docker run -d -P nginx-----采用随机端口映射启动nginx容器
如下图,docker容器采用了宿主机的32768映射到docker容器的80端口
此时通过宿主机IP:port,可以访问到nginx
(2)指定端口映射
docker run -d -p 3333:80 --name nginx-demo nginx------启动nginx容器,宿主机的3333映射到docker容器的80端口
2、数据卷管理
docker提供了宿主机和docker容器共享的文件的机制:数据卷和数据卷容器
将宿主机的/data目录挂载到docker容器的/data目录下面
docker run -d --name nginx-test2 -v /data/:/data nginx