type commands into it.
- `my-mysql` is the name of your MySQL container. If you named your container
differently when you ran it, use that name instead.
- `bash` is the command you want to run inside the container. It opens up a bash
shell that lets you interact with the container's file system and installed
applications.
After executing this command, you will be given access to the bash shell inside
your MySQL container, from which you can manage your MySQL server directly. You
can run `exit` to return to your terminal.
{{< /tab >}}
{{< tab name="GUI" >}}
1. Open the Docker Desktop Dashboard and select the **Containers** view.
2. In the **Actions** column for your container, select **Show container
actions** and then select **Open in terminal**.
In this terminal you can access to the shell inside your MySQL container, from
which you can manage your MySQL server directly.
{{< /tab >}}
{{< /tabs >}}
Once you've accessed the container's terminal, you can run any tools available
in that container. The following example shows using `mysql` in the container to
list the databases.
```console
# mysql -u root -p
Enter password: my-secret-pw
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mydb |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
```
## Connect to a containerized database from your host
Connecting to a containerized database from your host machine involves mapping a
port inside the container to a port on your host machine. This process ensures
that the database inside the container is accessible via the host machine's
network. For MySQL, the default port is 3306. By exposing this port, you can use
various database management tools or applications on your host machine to
interact with your MySQL database.
Before you begin, you must remove any containers you previously ran for this
guide. To stop and remove a container, either:
- In a terminal, run `docker rm --force my-mysql` to remove the container
named `my-mysql`.
- Or, in the Docker Desktop Dashboard, select the **Delete** icon next to your
container in the **Containers** view.
Next, you can use either the Docker Desktop GUI or CLI to run the container with
the port mapped.
{{< tabs group="ui" >}}
{{< tab name="CLI" >}}
Run the following command in a terminal.
```console
$ docker run -p 3307:3306 --name my-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -e MYSQL_DATABASE=mydb -d mysql:latest
```
In this command, `-p 3307:3306` maps port 3307 on the host to port 3306 in the container.
To verify the port is mapped, run the following command.
```console
$ docker ps
```
You should see output like the following.
```console
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6eb776cfd73c mysql:latest "docker-entrypoint.s…" 17 minutes ago Up 17 minutes 33060/tcp, 0.0.0.0:3307->3306/tcp my-mysql
```
{{< /tab >}}
{{< tab name="GUI" >}}
To run a container using the GUI:
1. In the Docker Desktop Dashboard, select the global search at the top of the window.
2. Specify `mysql` in the search box, and select the `Images` tab if not already
selected.
3. Hover over the `mysql` image and select `Run`.
The **Run a new container** modal appears.
4. Expand **Optional settings**.
5. In the optional settings, specify the following:
- **Container name**: `my-mysql`
- **Host port** for the **3306/tcp** port: `3307`
- **Environment variables**:
- `MYSQL_ROOT_PASSWORD`:`my-secret-pw`
- `MYSQL_DATABASE`:`mydb`