Image: mikirisec/mikiri-waf-mlc. Volume: /mikiri-waf-mlc. The image does not publish a port.
Deploy the API Docker container and the Filter Docker container first. MLC reads the API address and the RabbitMQ address from mlc.conf. The parameters are described in MLC.
mkdir -p /opt/mikiri-waf/mikiri-waf-mlc
touch /opt/mikiri-waf/mikiri-waf-mlc/first-launch
docker run -d --name mikiri-waf-mlc --network mikiri-waf \
-v /opt/mikiri-waf/mikiri-waf-mlc:/mikiri-waf-mlc \
mikirisec/mikiri-waf-mlc:latest
The first start copies mlc.conf into the volume and the container exits. Do not add a restart policy to this first start.
/opt/mikiri-waf/mikiri-waf-mlc/mlc.conf. For containers on the mikiri-waf network:waf_api_url = http://mikiri-waf-api:8080
waf_rabbitmq = USER:RABBITMQ_PASSWORD@mikiri-waf-filter-nginx:5672/
USER and RABBITMQ_PASSWORD are the login and password values in /opt/mikiri-waf/mikiri-waf-filter-nginx/rabbitmq_password.
docker start mikiri-waf-mlc
docker update --restart unless-stopped mikiri-waf-mlc
Logs are written to /opt/mikiri-waf/mikiri-waf-mlc/log/mikiri-waf/.
| In the volume | In the container | Contents |
|---|---|---|
mlc.conf |
/etc/mikiri-waf-mlc/mlc.conf |
Main configuration |
mtp/ |
/etc/mikiri-waf-mlc/mtp/ |
MTP |
lib/mikiri-waf-mlc/ |
/var/lib/mikiri-waf-mlc/ |
Models and training-sample backups |
log/mikiri-waf/ |
/var/log/mikiri-waf/ |
MLC logs |
docker pull mikirisec/mikiri-waf-mlc:latest
docker stop mikiri-waf-mlc
docker rm mikiri-waf-mlc
docker run -d --name mikiri-waf-mlc --network mikiri-waf --restart unless-stopped \
-v /opt/mikiri-waf/mikiri-waf-mlc:/mikiri-waf-mlc \
mikirisec/mikiri-waf-mlc:latest
Do not create first-launch again. If the package version changed, the previous volume contents are copied to old/. The working files stay in place.