1.Docker查看正在运行的容器完整启动命令:
docker安装运行一个镜像之后,有时忘记了原来是怎么启动的,又没有把原来的启动记录做个完整记录,这时真是不爽了。我找了一些网上说的可以docker完整启动命令的方式,但是不凑效啊。如下是别人说的方法:
docker ps -a --no-trunc
-l, --latest Show the latest created container (includes all states)
--no-trunc Don t truncate output
但这个方法我试了不可行,--no-trunc选项是让输出不要截取内容,但是即便用了这个选项,也没有显示完整,比如启动的php只会显示docker-php-entrypoint php-fpm,而不会显示挂载的目录文件。很失望啊,不过docker中的inspect命令会显示很详细的信息,而我们在启动一个程序时主要的参数也就是挂载的文件或目录,而这个是可以通过docker inspect 容器ID得到的结果中的HostConfig信息获得。里面有一个字段:Binds,记录了启动时的挂载文件目录明细,目前来看也就只能通过这里自己再拼凑一次启动命令了。
2.docker下安装指定版本镜像及错误:ERROR 2059 (HY000): Authentication plugin caching_sha2_password' cannot be loaded:
一个人搞一堆服务器,特别是公司流程烦,头真是十个大啊!准备先把预览机弄弄吧,使用docker下载安装mysql,因为环境原因,必须是mysql5.7版本。于是使用docker search搜了一下,发现docker上面也有一些问题,要么你安装官方版本,down的人也是最多最保险的,但它是一个latest最新的版本,要是指定版本搜就没有看到过官方的版本,除了官方版本,其它个人提交的下载量都很少,基本个位数,一大堆0的在后面垫底。很正常啊,个人提交的东西谁敢乱呢!有人可能说你可以加标签啊,我试了docker search mysql:5.7加标签,可以提前搜一下,加了标签下下来的也不是官方的。
我下了一个mysql的5.7版本,REPOSITORY名称叫做mysql.于是我使用如下命令进行安装。发现它根本不鸟我下载下来的镜像,直接云下载最新版的image了。docker下安装启动mysql5.7的命令如下:本文地址:http://www.04007.cn/article/701.html,未经许可,不得转载.
#启动mysql kermit@u27: docker run -d -p 3306:3306 --name mysql5.7 \ -v /data01/mysql57/conf:/etc/mysql/conf.d \ -v /data01/mysql57/logs:/logs \ -v /data01/mysql57/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=test123 \ mysql .... #在还没有下载latest版的mysql执行上面的命令直接下载latest版,而不会使用第三行的镜像 kermit@u27:/data01/nginx/conf.d# docker images REPOSITORY TAG IMAGE ID CREATED SIZE kermit_php latest 9b3a2ed86cb6 4 hours ago 827MB kermit_nginx latest 098b1d014880 4 hours ago 126MB mysql 5.7 cd3ed0dfff7e 3 weeks ago 437MB mysql latest c8ee894bd2bd 3 weeks ago 456MB #可以使用IMAGE ID替代REPOSITORY,这样不会出现这个问题,看来REPOSITORY只是个名称可以重复 kermit@u27: docker run -d -p 3306:3306 --name mysql5.7 \ -v /data01/mysql57/conf:/etc/mysql/conf.d \ -v /data01/mysql57/logs:/logs \ -v /data01/mysql57/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=test123 \ cd3ed0dfff7e
在还没有下载latest版的mysql执行上面的命令直接下载latest版,而不会使用第三行的镜像,可以使用IMAGE ID替代REPOSITORY,这样不会出现这个问题,看来REPOSITORY只是个名称可以重复,通过上面开始的方法下载下来的mysql最新版是mysql8.*了,启动正常但是在本地连接mysql时就报了错: ERROR 2059 (HY000): Authentication plugin caching_sha2_password' cannot be loaded; 问题就是MySQL8.0.11版本默认的认证方式是caching_sha2_password ,而在MySQL5.7版本则为mysql_native_password,又是一个变化啊。没时间研究,先用mysql5.7吧。不过网上有提供解决方法,修改mysql的配置文件设置这项参数。写入my.cnf文件后重启MySQL:
[mysqld]
default_authentication_plugin=mysql_native_password本文地址:http://www.04007.cn/article/701.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/701.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |