# Docker Percona failed to start when set INIT\_TOKUDB=1

**URL:** <https://forums.percona.com/t/docker-percona-failed-to-start-when-set-init-tokudb-1/8335>\
**Category:** Percona Server for MySQL 8.0\
**Created:** [December 2, 2020, 7:58pm UTC](https://forums.percona.com/t/docker-percona-failed-to-start-when-set-init-tokudb-1/8335 "2020-12-02T19:58:19Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![nickzren](https://avatars.discourse-cdn.com/v4/letter/n/f04885/32.png) [@nickzren](https://forums.percona.com/u/nickzren)\
**Post date:** [December 2, 2020, 7:58pm UTC](https://forums.percona.com/t/docker-percona-failed-to-start-when-set-init-tokudb-1/8335/1 "2020-12-02T19:58:19Z")

</div>

I have tried to pull percona offical image:

docker pull percona

Then run:

docker run -d --name percona\_test -e MYSQL\_USER=test -e MYSQL\_PASSWORD=test -e MYSQL\_ROOT\_PASSWORD=root -e INIT\_TOKUDB=1 percona

The container failed to start and the log shows below error:

INFO: TokuDB engine plugin is not installed.

Disabling transparent huge pages for the current session…

/usr/bin/ps-admin: line 708: /sys/kernel/mm/transparent\_hugepage/defrag: Read-only file system

/usr/bin/ps-admin: line 711: /sys/kernel/mm/transparent\_hugepage/enabled: Read-only file system

ERROR: Failed to disable transparent huge pages for this session.

I have tried 5.7 and 8.0 version, both not working.

Any suggestions?

Thanks!

---

<div class="post-metadata">

**Author:** ![hrvojem](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/hrvojem/32/6_2.png) [@hrvojem](https://forums.percona.com/u/hrvojem)\
**Post date:** [December 3, 2020, 1:55am UTC](https://forums.percona.com/t/docker-percona-failed-to-start-when-set-init-tokudb-1/8335/2 "2020-12-03T01:55:24Z")

</div>

Hi,

TokuDB requires transparent\_hugepages to be disabled ([https://www.percona.com/doc/percona-server/8.0/tokudb/tokudb\_installation.html#prerequisites](https://www.percona.com/doc/percona-server/8.0/tokudb/tokudb_installation.html#prerequisites)). Process in the docker container doesn’t have enough permissions to disable them. Can you please run:

```auto
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

```

as root (or with sudo) and try again.

---

<div class="post-metadata">

**Author:** ![Evgeniy\_Patlan](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/evgeniy_patlan/32/41_2.png) [@Evgeniy\_Patlan](https://forums.percona.com/u/Evgeniy_Patlan)\
**Post date:** [December 3, 2020, 3:14am UTC](https://forums.percona.com/t/docker-percona-failed-to-start-when-set-init-tokudb-1/8335/3 "2020-12-03T03:14:17Z")

</div>

Hi @nickzren

As docker is using kernel from the host system you should disable transparent\_hugepages on the host system and after that you should be able to enable TokuDB in docker

---

<div class="post-metadata">

**Author:** ![George\_Lorch](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/george_lorch/32/1108_2.png) [@George\_Lorch](https://forums.percona.com/u/George_Lorch)\
**Post date:** [December 3, 2020, 7:44am UTC](https://forums.percona.com/t/docker-percona-failed-to-start-when-set-init-tokudb-1/8335/4 "2020-12-03T07:44:25Z")

</div>

Just FYI, you should not be designing any new applications based upon TokuDB as it is deprecated and will be removed in a future version [https://www.percona.com/doc/percona-server/LATEST/tokudb/tokudb\_intro.html#tokudb-introduction](https://www.percona.com/doc/percona-server/LATEST/tokudb/tokudb_intro.html#tokudb-introduction)

–

George O. Lorch III

Director of Server Engineering, Percona Server for MySQL, Percona XtraDB Cluster, and Percona XtraBackup

---

<div class="post-metadata">

**Author:** ![nickzren](https://avatars.discourse-cdn.com/v4/letter/n/f04885/32.png) [@nickzren](https://forums.percona.com/u/nickzren)\
**Post date:** [December 3, 2020, 9:33am UTC](https://forums.percona.com/t/docker-percona-failed-to-start-when-set-init-tokudb-1/8335/5 "2020-12-03T09:33:44Z")

</div>

I failed to run "

1. echo never \> /sys/kernel/mm/transparent\_hugepage/enabled" because that's readonly file and container does not allow "sudo"
2. How to disable transparent\_hugepages on the host system?
3. We have been used Percona TokuDB in production for years, we would like to setup a Docker version. 

I have tried below unofficial version Docker for Percona TokuDB image, and it works:

[Docker Hub](https://hub.docker.com/r/bestmike007/percona-tokudb)

And also, I have access the container, it has not disabled transparent\_hugepages, so the installation procedure is different? Any clues? Thanks!

---

<div class="post-metadata">

**Author:** ![Evgeniy\_Patlan](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/evgeniy_patlan/32/41_2.png) [@Evgeniy\_Patlan](https://forums.percona.com/u/Evgeniy_Patlan)\
**Post date:** [December 3, 2020, 10:52am UTC](https://forums.percona.com/t/docker-percona-failed-to-start-when-set-init-tokudb-1/8335/6 "2020-12-03T10:52:48Z")

</div>

Hi @nickzrenAs I already wrote:

Docker container doesn’t have it’s own kernel and works with host’s kernel. Host machine is the machine where you run your dockers.

To disable them on host you should do the same actions if it is Linux box.

For example I am running ubuntu 18.04 on my host

So I executed

```auto
sudo -s
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
exit

```

After that I was able to run the docker image with enabled TokuDB successfully.

As for the image bestmike007/percona-tokudb

I have checked it and found the following:

1 it contains old Percona Server 5.7.21 (the latest available Percona Server for MySQL is 5.7.32)

2 Yes it doesn’t require to disable THP but our recommendation is to disable it

3 It starts with root as default user which is insecure

So my suggestion would be disable THP and use official image

---

<div class="post-metadata">

**Author:** ![nickzren](https://avatars.discourse-cdn.com/v4/letter/n/f04885/32.png) [@nickzren](https://forums.percona.com/u/nickzren)\
**Post date:** [December 3, 2020, 10:59am UTC](https://forums.percona.com/t/docker-percona-failed-to-start-when-set-init-tokudb-1/8335/7 "2020-12-03T10:59:32Z")

</div>

Thank you Evgeniy for the advice.

I’m actually working the test version on my Mac not linux box. Do you by chance knowing how to disable THP on Mac OS?

Do you mean if I pull official Percona Server 5.7.21 , it might work? Thanks

---

<div class="post-metadata">

**Author:** ![Evgeniy\_Patlan](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.percona.com/evgeniy_patlan/32/41_2.png) [@Evgeniy\_Patlan](https://forums.percona.com/u/Evgeniy_Patlan)\
**Post date:** [December 3, 2020, 11:10am UTC](https://forums.percona.com/t/docker-percona-failed-to-start-when-set-init-tokudb-1/8335/8 "2020-12-03T11:10:06Z")

</div>

@nickzren

I’m actually working the test version on my Mac not linux box. Do you by chance knowing how to disable THP on Mac OS?

I think this might help [https://github.com/docker-library/redis/issues/55#issuecomment-368346882](https://github.com/docker-library/redis/issues/55#issuecomment-368346882)

Do you mean if I pull official Percona Server 5.7.21 , it might work?

No, it is required to disable THP for Percona Server. So it doesn’t matter what version it should be. The image bestmike007/percona-tokudb is created incorrectly.

---

<div class="post-metadata">

**Author:** ![nickzren](https://avatars.discourse-cdn.com/v4/letter/n/f04885/32.png) [@nickzren](https://forums.percona.com/u/nickzren)\
**Post date:** [December 3, 2020, 11:57am UTC](https://forums.percona.com/t/docker-percona-failed-to-start-when-set-init-tokudb-1/8335/9 "2020-12-03T11:57:46Z")

</div>

Thanks a lot Evgeniy!

Actually there is a bug since version 2.3.0.4 of Docker Desktop for Mac, Screen is terminating…

I used the alternative method to access the Docker VM:

```auto
docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh

```

Then I can disable THP. Now I can run docker percona image with enabled TokuDB successfully.
