目录
一.Docker容器部署企业级应用
1.使用Docker容器化部署企业级应用必要性
1.有利于快速实现企业级应用部署
2.有利于快速实现企业级应用部
2.使用docker容器化部署企业级应用参考资料
以mysql为例,直接在官网搜索mysql,然后就有参考资料
二.使用Docker容器不是Nginx容器
1.获取参考资料
在hub.docker.com中搜索nginx即可
nginx - Official Image | Docker Hub
2.运行Nginx应用容器
1.不在docker host暴露端口
docker run -d --name nginx-server -v /opt/nginx-server:/usr/share/nginx/html:ro nginx
命令解释:
-d指非交互式运行
--name 容器名称
-v 将物理机中的路径挂载到容器中,也就是容器的根目录在物理机中的真实位置
:ro 赋予读写权限
nginx 用nginx镜像
出现403是因为我们没有给他指定首页
解决:
echo "nginx is working" > /opt/nginx-server/index.html
2.在docker host暴露端口
在物理机中暴露10001端口
docker run -d -p 10001:80 --name nginx-server-port -v /opt/nginx-server-port:/usr/share/nginx/html:ro nginx
echo "nginx is working" > /opt/nginx-server-port/index.html
#10001:80 10001指物理机端口,80指镜像端口
容器运行后就可以直接去访问物理机中的10001端
如果访问不了,则尝试以下方法
原因:内核没有转发数据包
把 net.ipv4.ip_forward = 1 写入 /etc/sysctl.conf
这样子内核就可以转发了
容器首页文件真实位置
3.修改nginx配置文件
挂载配置文件,需要创建一个nginx容器,把配置文件复制出来修改后使用
mkdir /opt/nginxcon
docker cp nginx-server-port:/etc/nginx/nginx.conf /opt/nginxcon
cd /opt/nginxcon
把auto改成你想要的数字(如1,2)
woker_processes是控制cpu数量的
补充:vim显示行号
:set nu
再创建一个nginx容器(修改过配置文件的)
docker run -d -p 10002:80 --name nginx-server-conf -v /opt/ngxin-server-conf:/usr/share/nginx/html:ro -v /opt/nginxcon/nginx.conf:/etc/nginx/nginx.conf:ro nginx
或者这种用这种创建方式