Instalar mysql en la ventana acoplable

1. Docker instala mysql

Cree una nueva configuración/data/mysql3306/conf/my.cnf (los nuevos registros, datos, conf/my.cnf se usarán más adelante)

 Detalles:

[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

 Ejecute el inicio y monte mysql (es necesario cambiar la contraseña y copiar todo)

ejecución de la ventana acoplable --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

Detalles (el significado específico de lo anterior):

--privileged Al usar este parámetro, el root en el contenedor tiene permisos de root reales. De lo contrario, la raíz dentro del contenedor es simplemente un usuario normal fuera del contenedor. Los contenedores iniciados por privilegios pueden ver muchos dispositivos en el host y ejecutar el montaje. Incluso le permite iniciar contenedores acoplables dentro de contenedores acoplables.

-d: ejecuta la instancia en modo fondo.

Configure la asignación de puertos:
-p 3306:3306
asigna el puerto 3306 del contenedor al puerto 3306 del host.


Configurar el montaje del volumen de datos mysql
1.-v /data/dockerData/mysql3306/logs:/logs (montaje del archivo de registro)
Monte la carpeta de registro /var/log/mysql en el contenedor en /mydata/mysql correspondiente a la carpeta del host.
2.-v /data/dockerData/mysql3306/data:/var/lib/mysql (montaje de archivos de datos)
monta la carpeta de datos /var/lib/mysql en el contenedor en /mydata/mysql/data correspondiente a la carpeta host.
3.-v /data/dockerData/mysql3306/conf/my.cnf:/etc/mysql/my.cnf (montaje del archivo de configuración)
Monte la carpeta de configuración del contenedor /etc/mysql en la carpeta /mydata/mysql/conf correspondiente del host .
Nota (el host mencionado aquí se refiere al host de Linux actual).

MYSQL_ROOT_PASSWORD=Contraseña de la base de datos

Establezca la contraseña para la raíz de la base de datos.

--nombre mysql3306

Establezca el nombre del contenedor mysql.


mysql:5.7: especifique esta imagen para crear una instancia en ejecución.

Después de ejecutar este punto, puede utilizar la herramienta de conexión mysql Workbentch para conectarse.

Aprenda los comandos de Docker más utilizados

###常用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目录下

 

Supongo que te gusta

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