拉取镜像
创建容器
创建容器并挂载共享文件夹。
启动镜像
创建普通用户
添加用户组
使用sudo
添加
配置bash
修改该用户的默认为 。(不修改会导致很多命令不能用)
新建 文件。
重启终端或者 生效。
系统工具安装
需要编译环境请安装 , 。
挂载共享文件夹
修改 下的 和 配置文件中对应的挂载选项。修改 为我们需要挂载的主机目录。修改成功后,重启docker服务。
修改 ,使容器获得真正的root权限,否则挂载网络共享文件夹会失败。
重启服务。
挂载网络文件夹
也需要运行参数 。
配置MQTT服务器
安装。
测试。
配置密码。
添加:
重启docker容器。
重启mosquitto。
如果不加 和 参数,即用户参数鉴权参数,将导致一下错误。
配置端口映射
需要将主机的端口映射到docker容器,其中包含我们应用需要使用到的。Web端口,RTMP端口,MQTT端口。
在和 中进行配置。
参考:https://cloud.tencent.com/developer/article/1833131
修改 文件的 参数,如下:
修改 ,在 参数后添加如下参数,与中的设置对应:
重启docker,当上述参数修改的格式不对时,将导致docker容器启动失败。
在容器中启动nginx后,再在主机浏览器访问localhost:80,即可验证端口映射是否修改成功。
注意:当没有关闭docker服务,就修改配置,会导致配置修改无效。
Nginx配置
编译配置好nginx。
解压 和 到同一路径。
修改 配置。并拷贝 到指定位置 。
配置教程:https://beego.vip/docs/deploy/nginx.md
部署
将上述配置好的容器打包程docker镜像,在服务器上导入。
服务器安装docker。
配置docker不使用sudo:https://blog.csdn.net/boling_cavalry/article/details/106590784
打包本地主机的docker镜像,并上传到云服务器。
导入docker镜像。
创建docker容器。
在容器中启动nginx和应用即可正常访问。
docker ubuntu使用systemctl
需要设置第一个启动的进程为 ,修改 中的 为 ,需要先关闭docker服务。容器内需要安装 。
以下为执行成功。
添加自定义服务,在 下新建 文件。添加如下内容:
生效配置,设置开机启动并启动web应用。