mirrord: Seems to be not working with php-fpm

Bug Description

when the target container is running php-fpm, which use unix socket, no traffic are being mirrored or stollen to local mirrord

Steps to Reproduce

  1. deploy php-fpm apps
  2. run mirrord and target the deployed app

Backtrace

No response

Relevant Logs

on the agent

agent ready
2023-07-24T09:05:43.172920Z  WARN ThreadId(07) mirrord_agent::outgoing: interceptor_task -> no messages left
2023-07-24T09:05:43.172945Z  WARN ThreadId(08) mirrord_agent::outgoing::udp: interceptor_task -> no messages left
2023-07-24T09:05:43.888466Z  WARN ThreadId(06) mirrord_agent::steal::ip_tables::flush_connections: `conntrack` output is Output {
    status: ExitStatus(
        unix_wait_status(
            256,
        ),
    ),
    stdout: "",
    stderr: "conntrack v1.4.7 (conntrack-tools): 0 flow entries have been deleted.\n",
}

on the local mirrord

mirrord cli starting...
exec
preparing to launch process
extracting layer
layer extracted
checking operator
no operator detected
creating agent pod...
agent pod created
waiting for pod to be ready...
pod is ready
ready to launch process
[24-Jul-2023 08:49:34] NOTICE: Failed implicitly binding to ::, retrying with 0.0.0.0
[24-Jul-2023 08:49:34] NOTICE: Failed implicitly binding to ::, retrying with 0.0.0.0
[24-Jul-2023 08:49:34] NOTICE: fpm is running, pid 1
[24-Jul-2023 08:49:34] NOTICE: ready to handle connections


### Your operating system and version

rancher docker desktop, docker engine version 23.0.6

### Local process

php-fpm

### Local process version

_No response_

### Additional Info

link to discord: https://discord.com/channels/933706914808889356/1132300217354559579

About this issue

  • Original URL
  • State: open
  • Created a year ago
  • Reactions: 2
  • Comments: 16 (5 by maintainers)

Most upvoted comments

Hi @rucciva have you resolve issue with mirrord and php-fpm. I am looking for how to create mirrord with k8s and php-fpm with laravel project. How did you resolve your issue, have you use docker-compose or install php-fpm in local environment?

@cslamar here are the feature section of my config. The main point is so that outgoing connection from local nginx to local php-fpm does not get intercepted by mirrord. (note that my nginx and php-fpm container are communicating through local network, both on the kubernetes and local docker compose)

nginx:

feature:
    network:
        incoming:
            mode: steal
        outgoing:
            ignore_localhost: true
    fs: false
    env:
        include: "*"

php-fpm:

feature:
    fs: false
    env:
        include: "*"

and the command to inject nginx correctly needs to be separated into two mirrord execution, since it encountered panic when injecting shell script and the nginx won’t start

/opt/mirrord/bin/mirrord exec -f /opt/mirrord/etc/mirrord-backend-nginx.yaml /docker-entrypoint.sh -- nginx -v
exec /opt/mirrord/bin/mirrord exec -f /opt/mirrord/etc/mirrord-backend-nginx.yaml nginx -- -g "daemon off;"     

Thanks for the info! I think this is related to #1655.