- Certifique-se de ter o Docker instalado no sistema.
- Execute o comando para criar o container MySQL:
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 -v $(pwd)/mysql_data:/var/lib/mysql mysql:8.0
--name mysql-container
: Nome do container.-e MYSQL_ROOT_PASSWORD=root
: Define a senha do usuárioroot
.-d
: Executa o container em segundo plano.-p 3306:3306
: Mapeia a porta 3306 do host para o container.-v $(pwd)/mysql_data:/var/lib/mysql
: Cria um volume persistente para o banco de dados.mysql:8.0
: Utiliza a imagem oficial do MySQL 8.0.
- Acesse o container:
docker exec -it mysql-container mysql -uroot -proot
- Verifique os bancos de dados existentes:
SHOW DATABASES;
- Crie o banco de dados
testdb
:
CREATE DATABASE testdb;
USE testdb;
- Crie a tabela
users
com persistência`:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
- Insira alguns dados na tabela:
INSERT INTO users (name, email, password) VALUES
('Alice', 'alice@example.com', 'password123'),
('Bob', 'bob@example.com', 'securepass456');
- Verifique os dados inseridos:
SELECT * FROM users;
A pasta mysql_data
(montada com o volume no comando docker run
) garante que os dados permaneçam salvos mesmo que o container seja removido.
- Para recriar o container sem perder os dados:
docker rm -f mysql-container
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=root -d -p 3306:3306 -v $(pwd)/mysql_data:/var/lib/mysql mysql:8.0
Os dados no volume serão restaurados automaticamente.
Com esse processo, você configurou um container MySQL com persistência de dados, criou um banco de dados, uma tabela e documentou os passos para recriá-los sempre que necessário.