简明docker安装nginx

下载nginx镜像

docker pull nginx

安装

docker run -itd --name  nginx --net host -v /root/project:/var/www/html -v /root/nginx:/root/nginx  nginx /bin/bash

此处的-itd是以交互的方式在后台运行(t指tty类似终端的工具), -v指定宿主机与容器映射的卷(valume), 将/root/nginx链接到容器的/root/nginx, 第二个同上. 最后的nginx是启动容器的镜像. 下方有更多docker run命令参数.

注意: 一般不把/root/nginx(宿主机的nginx配置文件放置处)直接映射到/etc/nginx, 这样会导致初始化容器映射卷时将/etc/nginx清空, 这会导致容器里的nginx程序无法启动, 因为丢失了配置文件, 上方命令是把/root/nginx挂载到了容器的/root/nginx, 从而避免了误删除nginx配置.因此还需要解决本地nginx配置文件与容器nginx配置文件映射的问题, 请看下步.

解决宿主机nginx配置文件与容器nginx配置文件映射问题

image.png

解决的方式如上图.

  1. 进入nginx容器
  2. 先将/etc/nginx中的所有文件移动到/root/nginx
  3. 在使用软链接, 链接到/etc/nginx
    这样容器nginx配置文件就与宿主机nginx配置文件共享了

操作命令如下:

# 进入容器
docker exec -it nginx /bin/bash
# 这里可以先备份nginx配置文件,然后在进行移动、删除操作
mv -r /etc/nginx/* /root/nginx
rm  /etc/nginx
# 创建软链接
ln -s /root/nginx /etc/nginx

其他

这些都是在nginx容器中的操作.

启动nginx

systemctl start nginx
# 或者
nginx

把nginx设置为系统服务(容器启动nginx自启)

systemctl enable nginx

禁止nginx系统服务随系统自启

systemctl disable nginx

nginx常用参数

# 测试nginx配置文件是否存在语法错误, 修改配置文件后一般都执行此命令做检查
nginx -t

# 停止,重读配置文件
nginx -s stop
nginx -s reload


docker run 常用参数:

  • -d: 后台运行容器, 并返回容器id
  • -i: 已交互模式运行容器, 通常与-t同时使用
  • -P: 主机端口映射为容器随机端口.
  • -p: 指定主机端口与容器映射的端口, 格式为: 主机端口: 容器端口
  • –name: 为容器命名
  • –dns 8.8.8.8 指定容器使用的DNS服务器, 默认和宿主及一样
  • -h: 指定容器主机
  • -m: 分配最大内存
  • –net 指定容器与主机网络连接方式;–net bridge: 指定容器的连接类型, 支持bridge/host/none/container四种; --net host 主机模式, 与主机共享端口
  • –expose=[]: 开放一组端口
  • -v 指定宿主机与容器映射的卷(valume)
  • -t 终端交互工具tty, 与shell/console的区别请移步 链接

我的个人博客: https://elltor.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值