牛腩学docker简记
目标:在linux上装docker, nginx, 然后 配置nginx让其指向docker里的某个网站, 为了让docker能运行一个网站,所以用了docker nginx的镜像, 运行该镜像即可得到一个nginx的示例页面
步骤:
1. 买服务器,装centos
2. 本地xshell连接服务器,在上面装nginx (命令位置:/usr/local/nginx/sbin/nginx 配置文件位置:/usr/local/nginx/conf/nginx.conf)
3. 按docker官网的安装步骤在服务器上装docker,运行docker run hello-world 测试(https://docs.docker.com/install/linux/docker-ce/centos/) 4. docker pull nginx 拉取nginx镜像
5. docker run -p 10000:80 -d nginx 运行docker nginx容器,把容器里的80端口映射到外面的10000端口
6. 在外面运行 curl localhost:10000 ,应该能看到docker nginx 容器里的示例页面
7. 外面的/tmp/目录建立index.html文件
8. docker cp /tmp/index.html 容器ID:/usr/share/nginx/html 把外面的index.html文件复制到容器里的那个目录下,覆盖原来的index.html文件,注:容器ID得完整名称,16位字符那个,不能只输入前4位字符
9. 重复步骤六,看看是否成功显示新的index.html
10. 外面的nginx.conf配置文件里加上
server{ listen 80; server_name dockerdemo.niunan.net; location / { proxy_redirect off; proxy_set_header Host $host; proxy_ser_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:10000/; } }
11. 在外面运行 /usr/local/nginx/sbin/nginx -t 检查配置问题有无错误
12. 在外面运行 /usr/local/nginx/sbin/nginx -s reload 重新加载外面的nginx配置文件
13. 在自己的电脑的浏览器上浏览 http://dockerdemo.niunan.net ,成功!!!
14. 在外面运行 ln -s /usr/local/nginx/sbin/nginx /bin/nginx 建立软链接,这样可以在任意目录下运行nginx -t命令了,而不用每次都是先 cd /usr/local/nginx/sbin 后才能运行nginx -t命令
http://dockerdemo.niunan.net
2020年01月12日更新
------------------------------------------------------------------------
试了下.NET CORE项目,发布后用Dockerfile文件,然后再传到服务器上测试部署,CORE先是不用数据库的,就一个静态页,先测试一下,步骤如下:
1. VS项目里添加docker支持,他会生成一个Dockerfile文件,后面用到
2. VS项目里发布,发布到 d:/temp/niunantool目录中
3. 到发布目录里,建立app文件夹,把文件全移动到app目录中,然后把第一步生成的Dockerfile文件复制到app的平级目录,修改内容如下:
4. 用winscp工具把整个niunantool目录上传到服务器上的/tmp目录下
5. ssh root@服务器IP ,输入密码连接上去
6. cd /tmp/niunantool
7. docker build -t niunantool . 记得命令后面有个., 这样就会生成一个名字叫niunantool的镜像
8. docker run -d -p 10002:80 niunantool 启动niunantool镜像,镜像里的80端口映射到外面的10002端口
9. curl http://localhost:10002 顺利的话应该能返回页面HTML
10. 前面的改nginx.conf文件,加上相应的server段
server{ listen 80; server_name tool2.niunan.net; location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:10002/; } }
11. nginx -s reload 重新加载nginx配置文件,再访问网站 http://tool2.niunan.net ,顺利的话即可看到页面
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2018-01-12 sql server中调用c#写的dll里的方法
2012-01-12 asp.net中使用swfupload上传大文件