1.拉取mysql
1.拉取镜像
docker pull mysql:5.6
2.查看镜像
docker images
3.启动一个mysql容器
docker run -itd --name mysql56-4 -p 3305:3306 -e MYSQL_ROOT_PASSWORD=123 mysql:5.6
4.访问端口开放
firewall-cmd --zone=public --add-port=3305/tcp --permanent
4.1)如果显示FirewallD is not running(即防火墙未开启)
systemctl unmask firewalld
4.2)systemctl start firewalld 开启防火墙
4.3)systemctl status firewalld 查看状态
再次执行第四步第一句 提示success表示成功
5.firewall-cmd --reload
6.docker ps -a 查看容器
docker自启mysql
docker update --restart=always 容器ID
7.进入mysql容器并执行操作
docker exec -it 容器ID /bin/bash
8.进入数据库
mysql -u root -p
Enter password:123
9.开通外网的访问权限
grant all privileges on *.* to 'root'@'%' identified by '123' with grant option;
10.刷新权限
flush PRIVILEGES;
11.到本地数据库连接虚拟机上的数据库
12.退出容器
Ctrl+P+Q
13.退出mysql
/q
2.Docker 容器和镜像的删除
2.1容器
1.列出所有的容器
docker ps -a
2.列出所有的容器 ID
docker ps -aq
3.停止所有的容器
docker stop $(docker ps -aq)
或者停止要删除的容器
docker stop 容器ID
4.杀死所有的容器
docker kill $(docker ps -aq)
或者删除单个或多个容器
docker rm 容器ID 容器ID
5.停止所有异常的容器
docker ps -a | grep "Exited" | awk '{print $1}' | xargs docker stop
6.删除所有异常停止的容器
docker ps -a | grep "Exited" | awk '{print $1}' | xargs docker rm
2.2镜像
查看镜像
docker images
1.通过标签删除镜像
docker rmi [image]
2.通过 ID 删除镜像
docker rmi 镜像ID
3.删除所有镜像
docker rmi $(docker images -q)
4.清理镜像
docker image prune
3.拉取MongoDB
1.查看docker是否启动
systemctl status docker
2.拉取镜像
docker pull mongo:latest
或者
docker pull mongo:4.4.8
3.查看本地镜像
docker images
4.创建目录
mkdir -p /usr/local/mongodb/datadb
5.对目录授权
chmod 777 /usr/local/mongodb/datadb
4.运行容器
docker run -itd --name mymongo -p 27017:27017 mongo --auth
5.查看容器的运行信息
docker ps -a
6.开放
firewall-cmd --zone=public --add-port=27017/tcp --permanent
firewall-cmd --reload
7.启动和创建
docker run -d --name mongo -v /usr/local/mongodb/datadb:/data/db -p 27017:27017 --privileged=true mongo
8.查看
docker ps
有端口号连接就说明成功了
9.进入
docker exec -it mongo /bin/bash
10. mongosh
11.show databases;
12. exit退出
4.Docker拉取redis
1.下载镜像
docker pull redis
2.创建实例并启动
#创建
mkdir -p /opt/redis/data
mkdir -p /opt/redis/conf
#cd /opt/redis/
ls
3.查看
docker images
4.进入到/opt/redis/
docker run \
-d --privileged=true \
-p 6379:6379 \
--restart always \
-v /opt/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /opt/redis/data:/data \
--name redis-latest1 redis:latest redis-server /etc/redis/redis.conf \
--appendonly yes \
--requirepass "123456"
以下为备注:
docker run \ #安装redis
-d --privileged=true \ #设置权限
-p 6379:6379 \ #设置端口
–restart always \ #重启redis
-v /opt/redis/conf/redis.conf:/etc/redis/redis.conf \ #部署redis配置文件
-v /opt/redis/data:/data \ #部署保存目录
–name redis-latest1 \ #重命名redis
redis:latest redis-server /etc/redis/redis.conf
–appendonly yes \ #appendonly开启AOF持久化模式。
–requirepass “123456” 设置连接redis的密码
5.执行成功
查看docker ps
6.进入redis客户端
docker exec -it redis-latest1 redis-cli
7.config get requirepass 123456
auth 123456 config get requirepass
8.重启服务
docker restart redis-latest1
9.出现以下说明持久化成功