docker run --name sharemen-nginx -p 8080:80 -v /var/www/nginx/nginx.conf:/etc/nginx/nginx.conf -v /var/ww/nginx/log:/var/log/nginx -v /var/www/nginx/nginx.conf.default:/etc/nginx/conf.d/nginx.conf.default -d nginx
提示报错:
Error starting userland proxy: listen tcp4 0.0.0.0:8080: bind: address already in use.
查看一下正在使用的端口:
netstat -ntlp
发现端口已经在使用了,换成 80 端口
docker run --name sharemen-nginx -p 8080:80 -v /var/www/nginx/nginx.conf:/etc/nginx/nginx.conf -v /var/ww/nginx/log:/var/log/nginx -v /var/www/nginx/nginx.conf.default:/etc/nginx/conf.d/nginx.conf.default -d nginx
容器运行成功!
-v: 文件挂载
-d: 容器以后台的方式进行运行,关闭终端后也不停止
-p: 80:80 , 将nginx容器的80端口映射到Docker的80端口
我的域名注册商是阿里云,去阿里云查看域名解析是否正常:
OK!
查看域名是否可以正常请求,ping一下:
ping sharemen.cn
查到的原因是DNS解析服务过期了,重新配一下,阿里云域名DNS修改文档:
https://help.aliyun.com/document_detail/54157.html?spm=a2c1d.8251892.help.dexternal.25365b764aWFgF
以下显示为正常即可!
又ping以下,发现还是一样,ping不通!
继续查,找到一篇文章,文章链接如下:
https://help.aliyun.com/knowledge_detail/75068.html?spm=5176.21213303.J_6704733920.7.1d923eda352ANt&scm=20140722.S_help%40%40%E7%9F%A5%E8%AF%86%E7%82%B9%40%4075068.S_0%2Bos0.ID_75068-RL_%E8%A7%A3%E6%9E%90%E6%AD%A3%E5%B8%B8%EF%BC%8C%E4%BD%86%E6%98%AFping%E4%B8%8D%E9%80%9A-LOC_helpmain-OR_ser-V_2-P0_0
里面说的是更新了DNS服务器后需要等24小时,明天再试试!
第二天一早,收到一条短信,然后试了一下:
OK!域名没问题了!
因为之前配置了nginx配置文件的挂载文件,所以只需要修改 /var/www/nginx/nginx.conf 即可,先放一个静态页面:
想着能不能给运行中的容器添加一个挂载目录,然后找了很多,大部分都是说修改
/var/lib/docker/containers/容器ID
下面的 config.v2.json
和hostconfig.json
两个文件,将其中的挂载信息改一下,但是我重启容器之后这两个文件就恢复原样了……
后面直接将文件复制到了容器中
docker cp /var/www/fireworks/ 容器ID:/var/www/fireworks/