我有一个应用程序在docker
上运行。我将把它部署到ubuntu server
。
所以我希望当我从浏览器(ex: mydomain.com)
调用域或ip时,它会在浏览器中显示我的应用程序。
我应该在docker or apache
conf.文件中做什么配置?
谢谢!
答案取决于您没有提供的关于应用程序的许多细节。
通常,您应该编写一个docker compose文件,如下所示:
version: "3.5"
services:
nginx:
container_name: my-app
image: ubuntu:latest
hostname: myapp.com
ports:
- 80:8080
entrypoint: sh -c /myapp-init-command.sh
volumes:
- /www/host/folder:/var/www/html
正如你所看到的,你应该决定依赖哪个网络服务器
例如,如果您需要apache,您应该将image更改为一个提供随时可用apache的镜像,或者编写一个docker文件将其安装到股票ubuntu服务器中,就像我的示例中提供的那样。
这里有一个例子。。。
docker文件
FROM ubuntu:latest
ARG DEBIAN_FRONTEND=noninteractive
RUN apt update
RUN apt install apache2 -y
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
EXPOSE 8080
CMD ["apachectl", "-D", "FOREGROUND"]
docker撰写文件
version: "3.5"
services:
nginx:
container_name: my-app
build:
context: .
dockerfile: myapp.dockerfile
hostname: myapp.com
ports:
- 80:8080
volumes:
- /www/host/folder:/var/www/html