获取镜像
docker pull nginx
启动
这里讲的是直接启动,不挂载,不指定网络
1、启动nginx
-p nginx默认端口是80
docker run -d -p 80:80 --name doc-nginx nginx
2、查看启动结果
命令查看是否启动,命令:docker ps 网页访问,浏览器输入IP地址回车,就可以看到 “Welcome to nginx!”
附加启动
原因:虽然咱们能正常启动nginx,但配置得在容器中进行,这样的话太麻烦了,所以把配置文件给映射出来,方便配置与管理
1、本地创建管理目录
mkdir -p /home/docker/nginx mkdir -p /home/docker/nginx/www mkdir -p /home/docker/nginx/conf mkdir -p /home/docker/nginx/logs
2、将容器中的相应文件copy到刚创建的管理目录中
docker cp doc-nginx:/etc/nginx/nginx.conf /home/docker/nginx/conf/ docker cp doc-nginx:/usr/share/nginx/html/ /home/docker/nginx/www/ docker cp doc-nginx:/var/log/nginx/ /home/docker/nginx/logs/
注:docker cp doc-nginx 中的 "doc-nginx" 为容器名,这里以容器ID也可以,只要唯一就好了
3、停止并移除容器
停止容器:docker stop doc-nginx 移除容器:docker rm doc-nginx
4、再次启动
再次启动容器并作目录挂载(也相当于共享)
并指定网络模式(这里没有添加docker网络的请查看docker网络部分)
docker run -d -p 80:80 \ -v /home/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /home/docker/nginx/www/html/:/usr/share/nginx/html/ \ -v /home/docker/nginx/logs/:/var/log/nginx/ \ --net doc-net --name doc-nginx nginx
注:为了好看所以做了换行,这里每行后必须➕"\",这样在linux里面就不会按行执行了。
5、查看network
这里的doc-net是我创建的网络名称
docker network inspect doc-net
输入以上命令就可以看到我们网络也获取到了docker容器内的IP,通过IP可以实现docker内各个容器间互相访问
到这里nginx部署就完成了!!!