FS-10106 [Docker] Updates to Docker Configuration

Updates for the docker configuration to allow for the following:

- Allow for bring in own configuration
- Exposes the Ports needed for non-docker networking
- Allows for mount /tmp to write out logs, etc to the host machine if
  configured as so.
- Health check of the freeswitch service
This commit is contained in:
Richard Genthner 2017-03-08 10:20:05 -05:00
parent 45a983d712
commit 2895e328a1
5 changed files with 119 additions and 4 deletions

View File

@ -1,4 +1,33 @@
This is not OSHA approved, It may when used incorrectly cause workplace violence.
# Docker Setup
These are the official Docker files for master branch and the current release packages.
## Volumes
These containers are setup so that you can mount your freeswitch configuration form a host or data volume container.
To mount freeswitch Configuration
```
-v $(pwd)/configuration:/etc/freeswitch
```
To mount tmp directory for storing recordings, etc
```
-v $(pwd)/tmp:/tmp
```
The container also has a healthcheck where it does a fs_cli status check to make sure the freeswitch service is still running.
# Ports
The container exposes the following ports:
- 5060/tcp 5060/udp 5080/tcp 5080/udp as SIP Signaling ports.
- 5066/tcp 7443/tcp as WebSocket Signaling ports.
- 8021/tcp as Event Socket port.
- 64535-65535/udp as media ports.
- 16384-32768/udp
If you wish to help improve these please submit a pull request at:
@ -6,4 +35,3 @@ https://freeswitch.org/jira
Thanks,
/b

View File

@ -41,8 +41,36 @@ RUN apt-get update && apt-get install -y freeswitch-all \
COPY docker-entrypoint.sh /
# Add anything else here
##
## Ports
# Open the container up to the world.
### 8021 fs_cli, 5060 5061 5080 5081 sip and sips, 64535-65535 rtp
EXPOSE 8021/tcp
EXPOSE 5060/tcp 5060/udp 5080/tcp 5080/udp
EXPOSE 5061/tcp 5061/udp 5081/tcp 5081/udp
EXPOSE 7443/tcp
EXPOSE 5070/udp 5070/tcp
EXPOSE 64535-65535/udp
EXPOSE 16384-32768/udp
# Volumes
## Freeswitch Configuration
VOLUME ["/etc/freeswitch"]
## Tmp so we can get core dumps out
VOLUME ["/tmp"]
# Limits Configuration
COPY build/freeswitch.limits.conf /etc/security/limits.d/
# Healthcheck to make sure the service is running
SHELL ["/bin/bash"]
HEALTHCHECK --interval=15s --timeout=5s \
CMD fs_cli -x status | grep -q ^UP || exit 1
# Clean up
RUN apt-clean --aggressive
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["freeswitch"]

View File

@ -0,0 +1,15 @@
freeswitch soft core unlimited
freeswitch soft data unlimited
freeswitch soft fsize unlimited
freeswitch soft memlock unlimited
freeswitch soft nofile 999999
freeswitch soft rss unlimited
freeswitch hard stack 240
freeswitch soft cpu unlimited
freeswitch soft nproc unlimited
freeswitch soft as unlimited
freeswitch soft priority -11
freeswitch soft locks unlimited
freeswitch soft sigpending unlimited
freeswitch soft msgqueue unlimited
freeswitch soft nice -11

View File

@ -39,7 +39,36 @@ RUN apt-get update && apt-get install -y freeswitch-all \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
COPY docker-entrypoint.sh /
# Add anything else here
## Ports
# Open the container up to the world.
### 8021 fs_cli, 5060 5061 5080 5081 sip and sips, 64535-65535 rtp
EXPOSE 8021/tcp
EXPOSE 5060/tcp 5060/udp 5080/tcp 5080/udp
EXPOSE 5061/tcp 5061/udp 5081/tcp 5081/udp
EXPOSE 7443/tcp
EXPOSE 5070/udp 5070/tcp
EXPOSE 64535-65535/udp
EXPOSE 16384-32768/udp
# Volumes
## Freeswitch Configuration
VOLUME ["/etc/freeswitch"]
## Tmp so we can get core dumps out
VOLUME ["/tmp"]
# Limits Configuration
COPY build/freeswitch.limits.conf /etc/security/limits.d/
# Healthcheck to make sure the service is running
SHELL ["/bin/bash"]
HEALTHCHECK --interval=15s --timeout=5s \
CMD fs_cli -x status | grep -q ^UP || exit 1
# Clean up
RUN apt-clean --aggressive
## Add additional things here
##

View File

@ -0,0 +1,15 @@
freeswitch soft core unlimited
freeswitch soft data unlimited
freeswitch soft fsize unlimited
freeswitch soft memlock unlimited
freeswitch soft nofile 999999
freeswitch soft rss unlimited
freeswitch hard stack 240
freeswitch soft cpu unlimited
freeswitch soft nproc unlimited
freeswitch soft as unlimited
freeswitch soft priority -11
freeswitch soft locks unlimited
freeswitch soft sigpending unlimited
freeswitch soft msgqueue unlimited
freeswitch soft nice -11