1,关联本地mysql配置文件到dock容器:docker run --name mysql10 -p 3308:3306 -v /Users/mac/mysql/config:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD = Aa123456 -d mysql
问题:遇到客户端无法登入的情况,"'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not "
1,本机mysql直接修改密码.
2,docker 在run 的时候指定验证密码插件为 caching_sha2_password是默认的身份验证插件,而不是mysql_native_password。
具体例子: docker run -p 3306:3306 --name mysql46 -e MYSQL_ROOT_PASSWORD=Aa123456 -d mysql --default_authentication_plugin=mysql_native_password
docker,使用常用命令:
软件镜像(QQ安装程序)----运行镜像----产生一个容器(正在运行的软件,运行的QQ); 步骤:
-
1 1、搜索镜像
-
2 [root@localhost~]#dockersearchtomcat
-
3 2、拉取镜像
-
4 [root@localhost~]#dockerpulltomcat
-
5 3、根据镜像启动容器
-
6 dockerrun‐‐namemytomcat‐dtomcat:latest
-
7 4、dockerps
-
8 查看运行中的容器
-
9 5、 停止运行中的容器
-
10 docker stop 容器的id
-
11 6、查看所有的容器
-
12 dockerps‐a
-
13 7、启动容器
-
14 docker start 容器id
-
15 8、删除一个容器
-
16 docker rm 容器id
-
17 9、启动一个做了端口映射的tomcat
-
18 [root@localhost~]#dockerrun‐d‐p8888:8080tomcat
-
19 ‐d:后台运行
-
20 ‐p: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口
21
-
22 10、为了演示简单关闭了linux的防火墙
-
23 servicefirewalldstatus;查看防火墙状态
-
24 servicefirewalldstop:关闭防火墙
-
25 11、查看容器的日志
-
26 dockerlogscontainer‐name/container‐id
27
-
28 更多命令参看
-
29 https://docs.docker.com/engine/reference/commandline/docker/
-
30 可以参考每一个镜像的文档
31
3)、安装MySQL示例 1 dockerpullmysql
错误的启动
-
1 [root@localhost~]#dockerrun‐‐namemysql01‐dmysql
-
2 42f09819908bb72dd99ae19e792e0a5d03c48638421fa64cce5f8ba0f40f5846
3
-
4 mysql退出了
-
5 [root@localhost~]#dockerps‐a
6 CONTAINERID IMAGE COMMAND CREATED STATUS
12 13
-
14 //错误日志
-
15 [root@localhost~]#dockerlogs42f09819908b
-
16 error:databaseisuninitializedandpasswordoptionisnotspecified
-
17 You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and
MYSQL_RANDOM_ROOT_PASSWORD;这个三个参数必须指定一个
正确的启动
-
1 [root@localhost~]#dockerrun‐‐namemysql01‐eMYSQL_ROOT_PASSWORD=123456‐dmysql
-
2 b874c56bec49fb43024b3805ab51e9097da779f2f572c22c695305dedd684c5f
-
3 [root@localhost~]#dockerps
4 CONTAINERID PORTS
做了端口映射
-
4 CONTAINERID PORTS
-
5 ad10e4bc5c6a
seconds 0.0.0.0:3306‐>3306/tcp mysql02
几个其他的高级操作
1 [root@localhost~]#dockerrun‐p3306:3306‐‐namemysql02‐eMYSQL_ROOT_PASSWORD=123456‐d mysql
-
2 ad10e4bc5c6a0f61cbad43898de71d366117d120e39db651844c0e73863b9434
-
3 [root@localhost~]#dockerps
"docker‐entrypoint.sh"
-
1 dockerrun‐‐namemysql03‐v/conf/mysql:/etc/mysql/conf.d‐eMYSQL_ROOT_PASSWORD=my‐secret‐pw ‐d mysql:tag
-
2 把主机的/conf/mysql文件夹挂载到 mysqldocker容器的/etc/mysql/conf.d文件夹里面
-
3 改mysql的配置文件就只需要把mysql配置文件放在自定义的文件夹下(/conf/mysql)
4
-
5 dockerrun‐‐namesome‐mysql‐eMYSQL_ROOT_PASSWORD=my‐secret‐pw‐dmysql:tag‐‐character‐set‐
server=utf8mb4 ‐‐collation‐server=utf8mb4_unicode_ci
-
6 指定mysql的一些配置参数