跟着康师傅教程,把自己博客弄上线了。感谢康师傅 @拉大锯。 博客地址:猿村 欢迎来友链呀。
Docker
1. Docker 安装 & 卸载
安装
# 下载docker-ce的repo(仓库)
curl <https://download.docker.com/linux/centos/docker-ce.repo> -o /etc/yum.repos.d/docker-ce.repo
# 安装依赖(相比 centos7 的关键步骤)
yum install <https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm>
# 安装docker-ce
yum install docker-ce -y
# 查看看版本,测试安装是否成功
docker -v
# 启动docker服务
systemctl start docker
# 查看镜像仓库
docker images
卸载
// 查看已安装的版本
[root@VM-0-12-centos ~]# yum list installed|grep docker
docker-ce.x86_64 3:19.03.13-3.el8 @docker-ce-stable
docker-ce-cli.x86_64 1:19.03.13-3.el8 @docker-ce-stable
// 逐个卸载
[root@VM-0-12-centos ~]# yum -y remove docker-ce.x86_64
[root@VM-0-12-centos ~]# yum -y remove docker-ce-cli.x86_64
// 卸载完后,再次查看一下,如果没有任何结果,表示卸载完成
[root@VM-0-12-centos ~]# yum list installed|grep docker
配置阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["<https://yd4wdrb2.mirror.aliyuncs.com>"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2. Docker-Compopse 安装 & 卸载
安装:
sudo curl -L <https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname> -s`-`uname -m` -o /usr/local/bin/docker-compose
卸载:
3 . Mysql-Docker 安装 & 卸载
安装
# 使用docker-compose安装
# 创建docker/mysql目录
mkdir docker
mkdir mysql
# 执行pwd 先复制当前目录
[root@VM-0-12-centos mysql]# pwd
/root/docker/mysql
# 在mysql目录下创建 docker-compose.yml配置文件
cd mysql
vim docker-compose.yml
# 输入以下配置项
version: '3'
services:
mysql:
container_name: "xz-blog-system-mysql"
network_mode: "host"
environment:
MYSQL_ROOT_PASSWORD: "123456"
MYSQL_USER: 'root'
MYSQL_PASS: '123456'
#此处可不指定版本,默认最新版
image: "mysql:5.7.30"
restart: always
ports:
- 3306:3306
volumes:
- "/root/docker/mysql/db:/var/lib/mysql"
- "/root/docker/mysql/conf:/etc/mysql/conf.d"
- "/root/docker/mysql/log:/var/log/mysql"
问题总结:
-
执行 mysql -u root -p 报错:command not found
原因:由于是容器化安装,所以执行mysql的命令,需要进入mysql容器中,宿主机器上并没有相关命令,因此会提示找不到命令
解决方法: 进入mysql容器 sudo docker exec -it xz-blog-system-mysql /bin/bash
-
使用navicat连接mysql 报错:host 'xxxx' is not allowed to connect mysql...
原因:由于mysql的权限是localhost,需要修改为通配符 %
mysql -u root -p;
use mysql;
select host from user where user='root' ;
修改host
update user set host = '%' where user ='root';
刷新权限
.
-
使用Navicat连接,报错:can not connect mysql server 'xxxx'(10060:unkonwn server)
原因:3306端口没有开放
执行以下命令,开放端口3306 iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
查看是否成功 iptables -L -n
开放成功。再次使用Navicat连接,连接成功...
卸载:
// 查看当前运行的容器
docker ps -a
// 指定mysql容器的ID,然后执行docker rm命令
docker rm containerID
// 执行完成后,找到mysql镜像(iamge)
docker images
// 置顶mysql镜像Id,执行docker rmi 命令,删除镜像
docker rm imageId
3. Redis-Docker 安装 & 卸载
安装
// 使用命令安装
docker run -d --name=xz_blog_system_redis -p 6379:6379 redis --requirepass "123456"
卸载
和mysql容器卸载方法一样
4. monogdb安装&卸载
安装:
使用docker-compose安装,docker-compose.yml如下:
version: '3'
services:
mongodb:
network_mode: "host"
image: mongo
container_name: mongodb
volumes:
- /root/docker/mongodb/db:/data/db #数据文件挂载
ports:
- 27017:27017
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: 123456
权限认证
//进入容器
docker exec -it mongodb /bin/bash
// 进入容器后,执行 mongod 命令,进入mongodb shell(mongodb命令行)
mongod
//切换到管理员用户:use admin
use admin
// 进行权限认证:db.auth("root","1234556"),这里的用户是之前在docker-compose.yml文件中配置的
db.auth("root","1234556")
至此,就可以使用robo 3T 进行连接了
连接
使用robo3T进行连接
成功!
踩坑
这里可能有一个坑!点击 Test 后,弹框提示:network eror while attemping to run command 'getnonce' on host 'xxxx'
原因:这里一般是robo3T版本低,而mongodb版本高,版本不匹配导致,可去Robo3T官网重新下载新版本,即可进行连接
5.进入容器
sudo docker exec -it xz-blog-system-mysql /bin/bash