parent
e6b1d2755f
commit
be29ad4af4
@ -0,0 +1,117 @@ |
||||
|
||||
|
||||
|
||||
## Compose sample application |
||||
|
||||
### Use with Docker Development Environments |
||||
|
||||
You can open this sample in the Dev Environments feature of Docker Desktop version 4.12 or later. |
||||
|
||||
[Open in Docker Dev Environments <img src="../open_in_new.svg" alt="Open in Docker Dev Environments" align="top"/>](https://open.docker.com/dashboard/dev-envs?url=https://github.com/docker/awesome-compose/tree/master/nginx-golang-mysql) |
||||
|
||||
### Simple Nginx HTTP Server |
||||
|
||||
Project structure: |
||||
|
||||
``` |
||||
│ docker-compose.yml |
||||
│ Readme.md |
||||
│ |
||||
└─nginx |
||||
│ Dockerfile |
||||
│ |
||||
├─conf.d |
||||
│ default.conf |
||||
│ |
||||
└─html |
||||
index.html |
||||
``` |
||||
|
||||
[_compose.yaml_](compose.yaml) |
||||
```yaml |
||||
version: "3" |
||||
|
||||
services: |
||||
nginx: |
||||
container_name: nginx |
||||
build: |
||||
./nginx |
||||
ports: |
||||
- "80:80" |
||||
- "443:443" |
||||
volumes: |
||||
- ./nginx/html:/usr/share/nginx/html |
||||
- ./nginx/conf.d:/etc/nginx/conf.d |
||||
``` |
||||
|
||||
|
||||
## Deploy with docker compose |
||||
|
||||
```shell |
||||
$ docker compose up -d |
||||
[+] Running 2/0 |
||||
✔ Network nginx_default Created 0.0s |
||||
✔ Container nginx Created 0.0s |
||||
Attaching to nginx |
||||
nginx | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration |
||||
nginx | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ |
||||
nginx | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh |
||||
nginx | 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf |
||||
nginx | 10-listen-on-ipv6-by-default.sh: info: /etc/nginx/conf.d/default.conf differs from the packaged version |
||||
nginx | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh |
||||
nginx | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh |
||||
nginx | /docker-entrypoint.sh: Configuration complete; ready for start up |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: using the "epoll" event method |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: nginx/1.23.4 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: built by gcc 10.2.1 20210110 (Debian 10.2.1-6) |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: OS: Linux 5.15.90.1-microsoft-standard-WSL2 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker processes |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 28 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 29 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 30 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 31 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 32 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 33 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 34 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 35 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 36 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 37 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 38 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 39 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 40 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 41 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 42 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 43 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 44 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 45 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 46 |
||||
nginx | 2023/05/15 09:19:08 [notice] 1#1: start worker process 47 |
||||
``` |
||||
|
||||
|
||||
## URL |
||||
|
||||
http://localhost/index.html |
||||
|
||||
|
||||
## Expected result |
||||
|
||||
Listing containers must show three containers running and the port mapping as below: |
||||
```shell |
||||
$ docker compose ps |
||||
NAME COMMAND SERVICE STATUS PORTS |
||||
nginx-golang-mysql-backend-1 "/code/bin/backend" backend running |
||||
nginx-golang-mysql-db-1 "docker-entrypoint.s…" db running (healthy) 3306/tcp |
||||
nginx-golang-mysql-proxy-1 "/docker-entrypoint.…" proxy running 0.0.0.0:80->80/tcp |
||||
l_db_1 |
||||
``` |
||||
|
||||
After the application starts, navigate to `http://localhost/index.html` in your web browser or run: |
||||
|
||||
Stop and remove the containers |
||||
```shell |
||||
$ docker compose down -v |
||||
``` |
||||
|
||||
|
Loading…
Reference in new issue