# Docker使用 ## 将要拷贝进入容器的内容置于和Dockerfile同一文件夹内 ## 下载free_node_base:v2镜像 ## 1.Dockerfile 1.1 将web和服务都拷进容器指定位置里
服务:/home/workspace/service/
web:/home/workspace/web/
1.2 修改http.conf(nginx的配置文件) 1.3 执行 `docker build -t ${镜像名}:${tag}` ## 2.compose.yml 2.1 端口问题:找一个宿主机(服务器)没被占用的端口映射到容器80上 2.2 修改command中的指令,主要是有关于启动项目那部分 ## 3.宿主机 3.1 nginx: 在宿主机(服务器)的nginx上 http代码块中 设置 > `upstream ${名称} { server 127.17.0.1:${容器暴露的端口}; }` 随后再添加该项目向docker转发的设置 > `location ${前缀} { proxy_pass http://haocai; } ` ## 4.部署 4.1 现在自己机器上(或者有docker的机器上)执行Dockerfile,生成镜像.
如果不是在服务器上,则: 将镜像保存为文件 `docker save -o FILE_NAME(.tar/.tar.gz) IMAGE_NAME:TAG` 扔到服务器上,加载 `docker load -i FILE_NAME` 再运行compose.yml `docker compose up -d` ## 5.更新 5.1 服务更新: 1. 如果没把握,那就备份下相关文件(是直接在容器里备份也行,拷出来备份也行) 2. 如果没有新加依赖, 那就把打包的内容直接拷进容器里服务位置即可; 如果更新了依赖.那就得把依赖也重新拷进去. 3. 进入容器,重启服务 5.2 web更新 1. 同5.1的第一项,备份问题 2. 直接拷进去就行,不涉及依赖的问题