You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: support/azure/app-service/faqs-app-service-linux.yml
+16-16Lines changed: 16 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ metadata:
6
6
author: genlin
7
7
ms.topic: article
8
8
ms.service: azure-app-service
9
-
ms.date: 04/16/2024
9
+
ms.date: 04/30/2025
10
10
ms.author: genli
11
11
title: Azure App Service on Linux FAQ
12
12
summary: |
@@ -82,14 +82,14 @@ sections:
82
82
curl -X POST -u <user> --data-binary @<zipfile> https://{your-sitename}.scm.azurewebsites.net/api/zipdeploy
83
83
```
84
84
85
-
If you get an error that the `curl` command is not found, make sure you install curl by using `apt-get install curl` before you run the previous `curl` command.
85
+
If you get an error that the `curl` command isn't found, make sure you install curl by using `apt-get install curl` before you run the previous `curl` command.
86
86
87
87
- name: Language support
88
88
questions:
89
89
- question: |
90
90
I want to use web sockets in my Node.js application, any special settings, or configurations to set?
91
91
answer: |
92
-
Yes, disable `perMessageDeflate` in your server-side Node.js code. For example, if you are using socket.io, use the following code:
92
+
Yes, disable `perMessageDeflate` in your server-side Node.js code. For example, if you're using socket.io, use the following code:
93
93
94
94
```nodejs
95
95
const io = require('socket.io')(server,{
@@ -116,7 +116,7 @@ sections:
116
116
- question: |
117
117
I'm using my own custom container. I want the platform to mount an SMB share to the `/home/` directory.
118
118
answer: |
119
-
If `WEBSITES_ENABLE_APP_SERVICE_STORAGE` setting is **unspecified** or set to *false*, the `/home/` directory **will not be shared** across scale instances, and files written **will not persist** across restarts. Explicitly setting `WEBSITES_ENABLE_APP_SERVICE_STORAGE` to *true* will enable the mount. Once this is set to true, if you wish to disable the mount, you need to explicitly set `WEBSITES_ENABLE_APP_SERVICE_STORAGE` to *false*.
119
+
If `WEBSITES_ENABLE_APP_SERVICE_STORAGE` setting is **unspecified** or set to *false*, the `/home/` directory **won't be shared** across scale instances, and files written **won't persist** across restarts. Explicitly setting `WEBSITES_ENABLE_APP_SERVICE_STORAGE` to *true* enables the mount. Once this is set to true, if you wish to disable the mount, you need to explicitly set `WEBSITES_ENABLE_APP_SERVICE_STORAGE` to *false*.
120
120
121
121
- question: |
122
122
My container fails to start with "no space left on device". What does this error mean?
@@ -126,28 +126,28 @@ sections:
126
126
- File system storage: The file system storage is included in the App Service plan quota. It's used when files are saved to the persistent storage that's rooted in the `/home` directory.
127
127
- Host disk space: The host disk space is used to store container images. It's managed by the platform through the docker storage driver.
128
128
129
-
The host disk space is separate from the file system storage quota. It's not expandable and there is a 15GB limit for each instance. It's used to store any custom images on the worker. You might be able to use larger than 15 GBs depending on the exact availability of host disk space, but this isn't guaranteed.
129
+
The host disk space is separate from the file system storage quota. It's not expandable and there is a 15-GB limit for each instance. It's used to store any custom images on the worker. You might be able to use larger than 15 GBs depending on the exact availability of host disk space, but this isn't guaranteed.
130
130
131
131
If the container's writable layer saves data outside of the `/home` directory or a [mounted azure storage path](/azure/app-service/configure-connect-to-azure-storage?tabs=portal&pivots=container-linux), the host disk space will also be consumed.
132
132
133
-
The platform routinely cleans the host disk space to remove unused containers. If the container writes a large quantity of data outside of the `/home` directory or Bring Your Own Storage (BYOS), it will result in startup failures or runtime exceptions once the host disk space limit is exceeded.
133
+
The platform routinely cleans the host disk space to remove unused containers. If the container writes a large quantity of data outside of the `/home` directory or Bring Your Own Storage (BYOS), it results in startup failures or runtime exceptions once the host disk space limit is exceeded.
134
134
135
135
We recommend that you keep your container images as small as possible and write data to the persistent storage or BYOS when running on Linux App Service. If not possible, you have to split the App Service plan because the host disk space is fixed and shared between all containers in the App Service Plan.
136
136
137
137
138
138
- question: |
139
139
My custom container takes a long time to start, and the platform restarts the container before it finishes starting up.
140
140
answer: |
141
-
You can configure the amount of time the platform will wait before it restarts your container. To do so, set the `WEBSITES_CONTAINER_START_TIME_LIMIT` app setting to the value you want. The default value is 230 seconds, and the maximum value is 1800 seconds.
141
+
You can configure the amount of time the platform waits before restarting the container. To do so, set the `WEBSITES_CONTAINER_START_TIME_LIMIT` app setting to the value you want. The default value is 230 seconds, and the maximum value is 1800 seconds.
142
142
- question: |
143
143
What is the format for the private registry server URL?
144
144
answer: |
145
-
Provide the full registry URL, including `http://` or `https://`.
145
+
Provide the full registry URL, including `https://`.
146
146
147
147
- question: |
148
148
What is the format for the image name in the private registry option?
149
149
answer: |
150
-
Add the full image name, including the private registry URL (for example, myacr.azurecr.io/dotnet:latest). Image names that use a custom port [cannot be entered through the portal](https://feedback.azure.com/d365community/). To set `docker-custom-image-name`, use the [`az` command-line tool](/cli/azure/webapp/config/container#az_webapp_config_container_set).
150
+
Add the full image name, including the private registry URL (for example, myacr.azurecr.io/dotnet:latest). Image names that use a custom port [can't be entered through the portal](https://feedback.azure.com/d365community/). To set `docker-custom-image-name`, use the [`az` command-line tool](/cli/azure/webapp/config/container#az_webapp_config_container_set).
151
151
152
152
- question: |
153
153
Can I expose more than one port on my custom container image?
@@ -174,14 +174,14 @@ sections:
174
174
Can I use ASPNETCORE_URLS in the Docker image?
175
175
answer: |
176
176
Yes, overwrite the environmental variable before .NET core app starts.
177
-
E.g. In the init.sh script: export ASPNETCORE_URLS={Your value}
177
+
E.g., In the init.sh script: export ASPNETCORE_URLS={Your value}
178
178
179
179
- name: Multi-container with Docker Compose
180
180
questions:
181
181
- question: |
182
182
How do I configure Azure Container Registry (ACR) to use with multi-container?
183
183
answer: |
184
-
In order to use ACR with multi-container, **all container images** need to be hosted on the same ACR registry server. Once they are on the same registry server, you will need to create application settings and then update the Docker Compose configuration file to include the ACR image name.
184
+
In order to use ACR with multi-container, **all container images** need to be hosted on the same ACR registry server. Once they are on the same registry server, you'll need to create application settings and then update the Docker Compose configuration file to include the ACR image name.
185
185
186
186
Create the following application settings:
187
187
@@ -209,7 +209,7 @@ sections:
209
209
- question: |
210
210
How do I use depends_on?
211
211
answer: |
212
-
The `depends_on` option is *unsupported* on App Service and it'll be ignored. Just as the [control startup and shutdown recommendation from Docker](https://docs.docker.com/compose/startup-order/), App Service Multi-container apps should check dependencies through application code - both at startup and disconnection.
212
+
The `depends_on` option is *unsupported* on App Service and is ignored. Just as the [control startup and shutdown recommendation from Docker](https://docs.docker.com/compose/startup-order/), App Service Multi-container apps should check dependencies through application code - both at startup and disconnection.
213
213
The example code below shows a Python app checking to see if a Redis container is running.
214
214
```python
215
215
import time
@@ -235,7 +235,7 @@ sections:
235
235
app.run(host="0.0.0.0", port=80, debug=True)
236
236
```
237
237
## Web Sockets
238
-
Web Sockets are supported on Linux apps. The `webSocketsEnabled` ARM setting does not apply to Linux apps since Web Sockets are always enabled for Linux.
238
+
Web Sockets are supported on Linux apps. The `webSocketsEnabled` ARM setting doesn't apply to Linux apps since Web Sockets are always enabled for Linux.
239
239
> [!IMPORTANT]
240
240
> Web Sockets are now supported for Linux apps on Free App Service plans. We support up to five web socket connections on Free App Service plans. Exceeding this limit results in an HTTP 429 (Too Many Requests) response.
241
241
- name: Pricing and SLA
@@ -258,16 +258,16 @@ sections:
258
258
259
259
To make sure that the port is correctly configured on Azure App Services, see the question, *How do I specify the port in my Linux container?*
260
260
- question: |
261
-
Is it possible to increase the container warmup request timeout?
261
+
Is it possible to increase the container warmup request time-out?
262
262
answer:
263
-
The warmup request by default fails after waiting 240 seconds for a reply from the container. You may increase the container warmup request timeout by adding the application setting `WEBSITES_CONTAINER_START_TIME_LIMIT` with a value between 240 and 1800 seconds.
263
+
The warmup request by default fails after waiting 240 seconds for a reply from the container. You may increase the container warmup request time-out by adding the application setting `WEBSITES_CONTAINER_START_TIME_LIMIT` with a value between 240 and 1800 seconds.
264
264
- question: |
265
265
How do I specify the port in my Linux container?
266
266
answer: |
267
267
| Container type | Description | How to set/use port |
| Built-in containers | If you select a language/framework version for a Linux app, a predefined container is selected for you. | To point your app code to the right port, use the PORT environment variable. |
270
-
| Custom containers | You have full control over the container. | App Service has no control about which port your container listens on. What it does need is to know which port to forward requests to. If your container listens to port 80 or 8080, App Service is able to automatically detect it. If it listens to any other port, you need to set the WEBSITES_PORT app setting to the port number, and App Service forwards requests to that port in the container. The WEBSITES_PORT app setting does not have any effect within the container, and you can’t access it as an environment variable within the container. |
270
+
| Custom containers | You have full control over the container. | App Service has no control about which port your container listens on. What it does need is to know which port to forward requests to. If your container listens to port 80 or 8080, App Service is able to automatically detect it. If it listens to any other port, you need to set the WEBSITES_PORT app setting to the port number, and App Service forwards requests to that port in the container. The WEBSITES_PORT app setting doesn't have any effect within the container, and you can’t access it as an environment variable within the container. |
271
271
- question: |
272
272
Can I use a file based database (like SQLite) with my Linux Webapp?
0 commit comments