# Connecting XtraBackup in docker to a container running in compose

**URL:** <https://forums.percona.com/t/connecting-xtrabackup-in-docker-to-a-container-running-in-compose/38780>\
**Category:** Percona XtraBackup\
**Created:** [July 22, 2025, 10:21pm UTC](https://forums.percona.com/t/connecting-xtrabackup-in-docker-to-a-container-running-in-compose/38780 "2025-07-22T22:21:30Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![rsodhia](https://avatars.discourse-cdn.com/v4/letter/r/2acd7d/32.png) [@rsodhia](https://forums.percona.com/u/rsodhia)\
**Post date:** [July 22, 2025, 10:21pm UTC](https://forums.percona.com/t/connecting-xtrabackup-in-docker-to-a-container-running-in-compose/38780/1 "2025-07-22T22:21:30Z")

</div>

I’m running a MySQL instance in compose, with port 3306 exposed. I’m trying to figure out how I can use XtraBackup via docker to connect to the container. I’m running:

```auto
docker run --name pxb --volumes-from gpv1-mysql -v backupvol:/backup_84 -it --user root percona/percona-xtrabackup:8.4 /bin/bash -c "xtrabackup --backup --datadir=/var/lib/mysql/ --target-dir=/backup_84 --user=root --password=test123; xtrabackup --prepare --target-dir=/backup_84"

```

It finds the container, but fails to connect to MySQL with the error

```auto
[Xtrabackup] Failed to connect to MySQL server: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'

```

I’m not great at the networking part of docker and would love advice on how to proceed.

---

<div class="post-metadata">

**Author:** ![matthewb](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/matthewb/32/34_2.png) [@matthewb](https://forums.percona.com/u/matthewb)\
**Post date:** [July 23, 2025, 12:28am UTC](https://forums.percona.com/t/connecting-xtrabackup-in-docker-to-a-container-running-in-compose/38780/2 "2025-07-23T00:28:49Z")

</div>

Use the `-h` flag on xtrabackup to specify the MySQL server. Typically this is localhost.

---

<div class="post-metadata">

**Author:** ![rsodhia](https://avatars.discourse-cdn.com/v4/letter/r/2acd7d/32.png) [@rsodhia](https://forums.percona.com/u/rsodhia)\
**Post date:** [July 24, 2025, 12:21pm UTC](https://forums.percona.com/t/connecting-xtrabackup-in-docker-to-a-container-running-in-compose/38780/3 "2025-07-24T12:21:48Z")

</div>

Thanks. I updated the command to

```auto
docker run --name pxb --volumes-from gpv1-mysql -v backupvol:/backup_84 -it --user root percona/percona-xtrabackup:8.4 /bin/bash -c "xtrabackup --backup --datadir=/var/lib/mysql/ --target-dir=/backup_84 --host=localhost --port=3306 --user=root --password=test123; xtrabackup --prepare --target-dir=/backup_84"

```

but still no luck. I also tried 127.0.0.1 in case. If it helps, I’m running MySQL in my compose file as

```auto
  mysql:
    container_name: gpv1-mysql
    ports:
      - "127.0.0.1:3306:3306"

```

I’d appreciate any additional advice.

---

<div class="post-metadata">

**Author:** ![Abhinav\_Gupta](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/abhinav_gupta/32/6262_2.png) [@Abhinav\_Gupta](https://forums.percona.com/u/Abhinav_Gupta)\
**Post date:** [July 24, 2025, 3:30pm UTC](https://forums.percona.com/t/connecting-xtrabackup-in-docker-to-a-container-running-in-compose/38780/4 "2025-07-24T15:30:31Z")

</div>

Please check this option: i.e. `--network container:<name|id>`

> **[Networking](https://docs.docker.com/engine/network/#container-networks)**
>
> Learn how networking works from the container's point of view

Like :

```auto

docker run --rm --name pxb \
  --volumes-from gpv1-mysql \
  -v backupvol:/backup_84 \
  --network=container:gpv1-mysql \
  -it --user root \
  percona/percona-xtrabackup:8.4 \
  /bin/bash -c "xtrabackup --backup --datadir=/var/lib/mysql --target-dir=/backup_84 --user=root --password=test123; xtrabackup --prepare --target-dir=/backup_84"

```

---

<div class="post-metadata">

**Author:** ![rsodhia](https://avatars.discourse-cdn.com/v4/letter/r/2acd7d/32.png) [@rsodhia](https://forums.percona.com/u/rsodhia)\
**Post date:** [July 24, 2025, 11:38pm UTC](https://forums.percona.com/t/connecting-xtrabackup-in-docker-to-a-container-running-in-compose/38780/5 "2025-07-24T23:38:59Z")

</div>

Still no luck. I added the hostname and port:

```auto
docker run --rm --name pxb \
  --volumes-from gpv1-mysql \
  -v backupvol:/backup_84 \
  --network=container:gpv1-mysql \
  -it --user root \
  percona/percona-xtrabackup:8.4 \
  /bin/bash -c "xtrabackup --backup --datadir=/var/lib/mysql --target-dir=/backup_84 --host=localhost --port=3306 --user=root --password=test123; xtrabackup --prepare --target-dir=/backup_84"

```

Still says it can’t connect to mysql on localhost. Given this is a command being run in a container, won’t it need to find the host localhost:3306? I’m not sure how to tell it to look there.

---

<div class="post-metadata">

**Author:** ![Vadim\_Yalovets](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/vadim_yalovets/32/43_2.png) [@Vadim\_Yalovets](https://forums.percona.com/u/Vadim_Yalovets)\
**Post date:** [July 25, 2025, 3:03pm UTC](https://forums.percona.com/t/connecting-xtrabackup-in-docker-to-a-container-running-in-compose/38780/6 "2025-07-25T15:03:22Z")

</div>

> [@rsodhia](#):
>
> Still no luck. I added the hostname and port

Hi @rsodhia

Could you try next commands on your server?

```auto
docker network create \
  --driver bridge \
  --subnet 172.20.0.0/16 \
  custom_default_net

```

```auto
docker run -d \
  --network custom_default_net \
  --name percona-server \
  -e MYSQL_ROOT_PASSWORD=root \
  -v percona-data:/var/lib/mysql \
  --platform "linux/amd64" \
  -p 3306:3306 \
  percona/percona-server:8.4.5

```

```auto
docker run --rm \
  --network custom_default_net \
  --name pxb \
  --volumes-from percona-server \
  -v backupvol:/backup_84 \
  -it --user root \
  percona/percona-xtrabackup:8.4 \
  /bin/bash -c "xtrabackup --backup --datadir=/var/lib/mysql --target-dir=/backup_84 --host=localhost --port=3306 --user=root --password=root; xtrabackup --prepare --target-dir=/backup_84"

```

 ![Screenshot 2025-07-25 at 17.58.45](https://us1.discourse-cdn.com/flex019/uploads/percona1/original/3X/e/b/eb4340d690fe154a6c203e90964de6cf12faec6e.png)
