mysql篇
1 拉取镜像 选择版本
docker pull mysql:5.7
2 安装mysql容器 :映射3306, 容器名为mysql, 默认用户名为root , 密码为root
docker run -d -p 3306:3306 -v /peimenghao/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql3306 3e3878acd190
3 容器已经启动 docker ps 查看进程
进入容器根目录
(注 -it: 交互式虚拟终端,直接模拟终端进入操作,与之相反的是 -d: 后台运行)
docker exec -it (容器id) /bin/bash
4 启动mysql,回车后输入密码
mysql -u root -p
password:root
5 查看用户信息
mysql> select host,user,plugin,authentication_string from mysql.user;
注意 踩坑处 我这边第一次 plugin下面, 全部默认是 caching_sha2_password ,外部访问不到,修改root密码,
plugin处显示 mysql_native_password, 外部立马连接成功 !(当我第二次部署 时候 默认是mysql_native_password,不用修改密码 就可以连接)
6 修改密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
7 修改数据库显示中文乱码问题
1 查询字符集 默认是瑞典latin1
mysql> SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+--------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql-8.0/charsets/ |
+--------------------------+--------------------------------+
输入设置编码格式指令
mysql> SET NAMES 'utf8';它相当于下面的三句指令:
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
我这样设置就好了,网上都说还要再文件里面修改。我这边文件内容有差异也就不改了
fastdfs+nginx
之前没有用docker, 做过一个fastdfs+nginx单机版本的文件服务器,想用docker 在做一遍
查了半天资料 ,没找到满意的教程;
最后看到一个超级暴力,一键部署的教程, 这个大佬做的image 太流弊了!!!
还是抄一遍吧————一键下载 部署,配置,运行完毕。
docker run -d --restart=always --privileged=true --net=host --name=fastdfs -e IP=(自己的ip) -e WEB_PORT=80 -v ${HOME}/fastdfs:/var/local/fdfs registry.cn-beijing.aliyuncs.com/tianzuo/fastdfs
-e WEB_PORT=80 是nginx 的端口 -v 后面是挂载操作
测试: 进入容器——当前目录创建 html文件 ———— 测试上传功能
docker exec -it fastdfs /bin/bash
echo "Hello FastDFS!">index.html
fdfs_test /etc/fdfs/client.conf upload index.html