目标
docker常用命令
搭建mysql为例—->mysql主从配置—>多数据源
mybatisplus
主从分离
- 分表分库
- 等
Dockerfile
idea+linux+Dockerfile==>可运行容器
Docker常用命令
搭建mysql容器为例
查询镜像
从镜像库查询。
docker search
如何获取镜像(pull)
查看本地镜像
创建、运行容器
docker run
docker run -it --name mysqlx -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql
查看进程
docker ps 活着的进程
docker ps -a 查询所有进程
查询日志
docker logs 容器名称
删除容器
docker rm 容器名称/容器ID
[root@localhost ~]# docker rm mysqlx
停止/运行正在运行的容器
docker stop/start/restart 容器
进入容器
docker exec
进入mysql
navicat连接数据库
失败的解决方案: linux开放3306端口。
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
容器数据存储
问题
挂载 -v
没有挂载之前,数据存储在docker容器中,非常不安全。
数据存储其它地方(linux)。
linux创建文件夹来存储数据
linux命令删除 -rf(可删除)
将my.conf上传到conf文件夹下
序列 | linux(宿主) | 容器 |
---|---|---|
1 | /usr/local/software/mysql/3306/conf/my.conf | /etc/mysql/my.cnf |
2 | /usr/local/software/mysql/3306/data | /var/lib/mysql |
3 | /usr/local/software/mysql/3306/mysql-files | /var/lib/mysql-files |
docker run -it \
--name mysql \
-p 3306:3306 \
--privileged \
-e MYSQL_ROOT_PASSWORD=123 \
--network wn_docker_net \
--ip 172.18.12.2 \
-v /etc/localtime:/etc/localtime \
-v /usr/local/software/mysql/3306/conf/my.cnf:/etc/mysql/my.cnf \
-v /usr/local/software/mysql/3306/data:/var/lib/mysql \
-v /usr/local/software/mysql/3306/mysql-files:/var/lib/mysql-files \
-d mysql
查询容器的详情inspect
docker inspect 容器名称
linux操作(命令)
-
重定向 >> :将输出内存重定向到某个文件,追加到文件的末尾。> 清除原始数据,
docker inpspect mysql >> mysql.txt
-
管道+过滤: | grep
[root@localhost mysql]# docker inspect mysql |grep IPA
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.2",
"IPAMConfig": null,
"IPAddress": "172.17.0.2",
常用命令
序列 | 命令 | 解释 |
---|---|---|
1 | docker -v | docker版本 |
2 | docker search 镜像名称 | 查询镜像 |
3 | docker pull 镜像名称:tag | 拉取镜像 |
4 | docker ps | 查询活动的容器 |
5 | docker ps -a | 查询所有容器状态 |
6 | docker logs 容器名称 | 查询容器中的日志 |
7 | docker rm 容器名称/ID | 删除容器 |
8 | docker stop 容器 | 停止运行容器 |
9 | docker exec | 进入容器 |
10 | docker inspect | 查看容器详情 |