- Replies:
- 0
- Words:
- 5939

sudo apt update && sudo apt install docker.io
Check your installation:
docker --version
Open your terminal and run:
docker pull mysql
This command downloads the official MySQL image from Docker Hub. If you want a specific version, you can include it:
docker pull mysql:8.0
docker run --name my-mysql \
-e MYSQL_ROOT_PASSWORD=secret123 \
-e MYSQL_DATABASE=mydb \
-e MYSQL_USER=user1 \
-e MYSQL_PASSWORD=pass123 \
-p 3306:3306 \
-d mysql:8.0
--name my-mysql
: The name of your container-e MYSQL_ROOT_PASSWORD
: Sets the root password-e MYSQL_DATABASE
: Creates a new database-e MYSQL_USER
and -e MYSQL_PASSWORD
: Creates a new user with a password-p 3306:3306
: Maps the MySQL port to your local machine-d
: Runs the container in the backgroundmysql:8.0
: Specifies the MySQL image versiondocker run --name my-mysql \
-e MYSQL_ROOT_PASSWORD=secret123 \
-e MYSQL_DATABASE=mydb \
-e MYSQL_USER=user1 \
-e MYSQL_PASSWORD=pass123 \
-p 3306:3306 \
-v mysql-data:/var/lib/mysql \
-d mysql:8.0
This creates a Docker-managed volume called mysql-data
to store your MySQL data.
docker ps
You should see your container listed with port 3306
open.
mysql -h 127.0.0.1 -P 3306 -u user1 -p
Enter the password when prompted.
If you want to stop the container:
docker stop my-mysql
To start it again:
docker start my-mysql
To remove it completely (be careful!):
docker rm -f my-mysql && docker volume rm mysql-data
root
for application-level access—use separate usersWant to make your setup even easier? Use docker-compose.yml
:
version: '3.8'
services:
mysql:
image: mysql:8.0
container_name: my-mysql
environment:
MYSQL_ROOT_PASSWORD: secret123
MYSQL_DATABASE: mydb
MYSQL_USER: user1
MYSQL_PASSWORD: pass123
ports:
- "3306:3306"
volumes:
- mysql-data:/var/lib/mysql
volumes:
mysql-data:
Then run:
docker-compose up -d
image quote pre code