Instale o mysql no docker

1. Docker instala mysql

Crie uma nova configuração/data/mysql3306/conf/my.cnf (novos logs, dados, conf/my.cnf serão usados ​​posteriormente)

 Detalhes:

[mysql]
#设置mysql客户端默认字符集
default-character-set=UTF8MB4

[mysqld]
#设置3306端口
port=3306

#允许最大连接数
max_connections=200

#允许连接失败的次数
max_connect_errors=10

#默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password

#服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=UTF8MB4

#开启查询缓存
explicit_defaults_for_timestamp=true

#创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

#等待超时时间秒
wait_timeout=60

#交互式连接超时时间秒
interactive-timeout=600
secure_file_priv=/var/lib/mysql

[client]
default-character-set=UTF8MB4

 Execute startup e monte mysql (é necessário alterar a senha e copiar tudo)

docker run --privileged -d -p 3306:3306 -v /data/dockerData/mysql3306/conf/my.cnf:/etc/mysql/my.cnf -v /data/dockerData/mysql3306/logs:/logs -v /data/dockerData/mysql3306/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=数据库密码 --name mysql3306 mysql:5.7

Detalhes (o significado específico do acima):

--privileged Usando este parâmetro, root no contêiner tem permissões de root reais. Caso contrário, o root dentro do contêiner será apenas um usuário comum fora do contêiner. Os contêineres iniciados por privilégios podem ver muitos dispositivos no host e executar a montagem. Ele ainda permite que você inicie contêineres docker dentro de contêineres docker.

-d: Execute a instância em modo de segundo plano.

Configure o mapeamento de portas:
-p 3306:3306
mapeia a porta 3306 do contêiner para a porta 3306 do host.


Configurar a montagem do volume de dados mysql
1.-v /data/dockerData/mysql3306/logs:/logs (montagem do arquivo de log)
Monte a pasta de log /var/log/mysql no contêiner em /mydata/mysql correspondente à pasta host.
2.-v /data/dockerData/mysql3306/data:/var/lib/mysql (montagem de arquivo de dados)
monta a pasta de dados /var/lib/mysql no contêiner em /mydata/mysql/data correspondente à pasta host.
3.-v /data/dockerData/mysql3306/conf/my.cnf:/etc/mysql/my.cnf (montagem do arquivo de configuração)
Monte a pasta de configuração do contêiner /etc/mysql na pasta /mydata/mysql/conf correspondente do host .
Nota (o host mencionado aqui refere-se ao host Linux atual).

MYSQL_ROOT_PASSWORD=Senha do banco de dados

Defina a senha para a raiz do banco de dados.

--name mysql3306

Defina o nome do contêiner mysql.


mysql:5.7: Especifique esta imagem para criar uma instância em execução.

Após executar este ponto, você pode usar a ferramenta de conexão mysql Workbentch para conectar.

Aprenda comandos docker comumente usados

###常用docker命令学习
#0. 查看docker 版本
docker version

#1. 拉取镜像 (后面5.7是指定版本,默认是latest最新)
docker pull mysql:5.7

#1. 查看运行的容器 (检查容器是否正在运行)
docker ps

#1. 查看运行的容器 (检查容器是否正在运行)
docker ps

#1. 查看运行的容器 (检查容器是否正在运行)
docker ps

#2. 查看所有容器(包括未运行的)
docker ps -a 

#3. 刪除容器 (前三位的容器id就行,全部输也行)
docker rm 19c

#4. 停止运行容器
docker stop 39c

#5. 启动容器
docker start 39c

#执行. 重启容器 (也可以用容器的名称代替)
docker start 39c

#5. 重启容器 (也可以用容器的名称代替)
docker start 39c

#5. 重启容器 (也可以用容器的名称代替)
docker start 39c

#5. 查看容器日志 (执行了启动容器,但是通过docker ps发现没启动成功,可以通过此命令查看具体日志)
docker start 39c

# 查看Mysql容器的数据目录
docker inspect mysql | grep -i datadir

#进入容器内部
docker exec -it [容器id/容器名称] /bin/bash

#进入之后通过命令查看是否可以访问成功
curl http://localhost:容器端口号


# systemctl start docker   //启动docker

# systemctl restart docker  //重启docker

# systemctl enable docker  //设置开启自启

# docker version  //查看docker版本

# docker info  //查看docker详细信息

# docker --help  //查看帮助手册(docker各命令的详细用法)

# docker images -a  // 查看docker现有的镜像

# docker rmi (IMAGE ID)  //删除运行镜像文件(-f:可强制删除)

# docker search xxxx -s  30  //查找docker hub上点赞超过30的镜像信息

# docker pull xxxx  //默认下载最新的镜像信息 

# docker run -it xxxx  //运行docker镜像

  -i:以交互式运行容器

  -t:为容器重新分配一个伪输入终端

  -d:以后台进程方式启动(但容器必须有前台进程与之响应,不然后台进程以为无事可干,自动kill掉;给加一个前台交互脚本:docker run -d centos /bin/sh -c ''while true;do echo hello mycentos;sleep 5;done" --name mycentos)

  --name :给运行容器命名

  -P:随机端口映射

  -p:指定端口映射(1.ip:hostPort:containerPort. 2.ip::containerPort. 3.hostPort:containerPort 4.containerPort)例子:docker run -d -p 5050:8080 tomcat

# docker ps -a  //查看所有的docker进程

# docker ps -n 5   //查看最近运行的5个docker进程

# docker stop (CONTAINER ID )  //停止运行容器

# docker start (CONTAINER ID )  //启动容器

# Ctrl+q+p  //暂时退出容器

# docker rm (CONTAINER ID )  //删除运行的容器

# docker logs -t  (CONTAINER ID )  //查看运行容器的日志

  -t:加入时间戳

  -f:跟随最新的日志打印

  --tail 5:打印最后的五行日志

# docker inspect (CONTAINER ID )  //查看容器的内部细节

# docker exec -it(CONTAINER ID )ls -l /home  //在docker外部运行容器(查看centos容器内home目录下的信息)

#docker exec -it(CONTAINER ID )/bin/bash  //重新加入交互界面

# docker attach(CONTAINER ID )  //重新加入交互界面

# docker cp (CONTAINER ID ):/home/a.log /root  //将容器内的a.log文件拷贝到外部root目录下

 

Acho que você gosta

Origin blog.csdn.net/qq_40453972/article/details/130111221
Recomendado
Clasificación