How to Run MySQL in Docker Step by Step

Learn how to run MySQL in Docker, connect to the container, verify health status, and manage the lifecycle with essential commands.

On this page

In this article, we are going to see a step-by-step tutorial on how to run a MySQL database in a Docker Container.

1. Download a MySQL Server Docker image

To download the image, open the command line and type this command:

docker pull mysql/mysql-server:latest

The :latest tag will download the latest version of MySQL. If you want do download a specific version, simply replace the latest (Ex: mysql-server :8.0)

2. Start a MySQL container in Docker

The next step is to run a container in Docker with the MySQL image. To do this, execute the next command:

docker run --name=mysql1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql/mysql-server:8.0

Let's break down this command to understand it better:

  • run - will run a new command in a new Docker container
  • --name - will give a name to the new container created
  • -p - will make the internal docker port visible outside docker *-e - will change the root password. Here you can insert whatever password you want
  • mysql/mysql-server:8.0 - will specify what image to run in the newly created container

To verify if the container was created and running, we can execute a docker ps (process status) command:

docker ps

CONTAINER ID        IMAGE                      COMMAND                  CREATED         STATUS                            PORTS                  NAMES
79742fe73ea9        mysql/mysql-server:8.0     "/entrypoint.sh mysq…"   24 hours ago    Up 6 seconds (health: starting)   3306/tcp, 33060/tcp    mysql1

This will list all the running containers as shown above.

In the status column of the result from above, you can see the (health: starting) mention. After the container is initialized and ready to run, you will se it change to (healthy).

3. Connect to MySQL Server from inside the container

DbSchema ER diagram designer DbSchema ER diagram designer

Design and visualize
your database schema

Edit referenced records
in related tables

Query your data
visually too

Reuse the SQL
generated

Free Download
To connect, we will first run the next command:
docker exec -it mysql1 mysql -uroot -p

This will require the root password set in the previous step. After inserting the password, you should be inside MySQL monitor.

mysql>

Type exit to leave the program.

4. Stop the MySQL container

To stop the container, simply execute the next command:

docker stop mysql1

5. Delete the MySQL container

To delete the container, make sure that it is stopped. Then, execute this command:

docker rm mysql1