一.在终端连接自己的云服务器
如何连接云服务器?
第一种方式:(连接一段时间之后就会断开)
ssh root@公网ip 然后输入服务器密码
第二种方式:(稳定连接)
ssh -o ServerAliveInterval=60 root@公网ip 然后在输入服务器密码
二.Docker安装
1.安装依赖(需要先连接上云服务器使用linux系统才能用yum命令)
yum install -y yum-utils device-mapper-persistent-data lvm2
2.配置yum源 使用国内的
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安装docker
yum -y install docker-ce-20.10.17-3.el7
3.查看docker版本
docker -v
4.启动docker
systemctl start docker
5.查看docker 启动状态
systemctl status docker
三.Docker常用命令
docker ps //查看正在运行的容器
docker ps -a //查看全部容器
docker stop 容器id //停止容器
docker rm 容器id //删除容器(需要先停止容器)
docker images //镜像查看
docker rmi 镜像id //删除镜像
#修改镜像仓库
vim /etc/docker/daemon.json
#改为下面内容,然后重启docker
{
"debug":true,"experimental":true,
"registry-mirrors":["https://docker.xuanyuan.me","https://1ms.run","https://pb5bklzr.mirror.aliyuncs.com","https://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]
}
#查看信息
docker info
1.启动使用Docker
systemctl start docker #运行Docker守护进程
systemctl stop docker #停止Docker守护进程
systemctl restart docker #重启Docker守护进程
2.如何删除一个容器(比如删除mysql)
- 首先用 【docker ps】 查看容器
- 用 【docker stop 容器id 】将容器停止
- 然后使用【docker rm 容器id】 删除容器
- 查看docker容器:【docker ps】(此时应该没有mysql容器了)
- 查看镜像:【docker images 】(此时还有mysql的镜像)
- 删除mysql镜像:【docker rmi 镜像id】
3.如何安装一个容器
安装完容器之后需要在云服务器的安全组设置里面开放对应端口才可以进行连接!
3.1安装Mysql8.0
#安装mysql8,让容器使用宿主机的时间,容器时间与宿主机时间同步
docker run \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /home/data/mysql/data:/var/lib/mysql:rw \
-v /etc/localtime:/etc/localtime:ro \
--name xdclass_mysql \
--restart=always \
-d mysql:8.0
|----------------------------------------------|-------------------------------------------------------------------------------------------------|
| docker run | 创建并启动一个 Docker 容器 |
| -p 3306:3306 | 端口映射:主机的 3306 端口 ↔ 容器内的 3306 端口(外部可通过主机 IP:3306 访问 MySQL) |
| -e MYSQL_ROOT_PASSWORD= 123456 | 环境变量:设置 MySQL 的 root 用户密码为123456(必须指定,否则容器启动失败) |
| -v /home/data/mysql/data:/var/lib/mysql:rw | 数据卷挂载:主机目录/home/data/mysql/data ↔ 容器内 MySQL 数据目录/var/lib/mysql;rw表示读写权限(确保数据持久化,容器删了数据也在) |
| -v /etc/localtime:/etc/localtime:ro | 时区同步:主机时区文件挂载到容器,ro只读权限(避免容器时间和主机不一致) |
| --name xdclass_mysql | 给容器命名为xdclass_mysql(方便后续用名称操作,而非容器 ID) |
| --restart=always | 重启策略:Docker 服务重启 / 服务器重启时,该容器自动启动(生产环境常用) |
| -d | 后台运行容器(守护进程模式,不占用当前终端) |
3.2 安装redis
#docker安装redis
docker run -itd --name xdclass-redis -p 6379:6379 -v /mydata/redis/data:/data redis:7.0-alpine --requirepass 123456
docker exec -it 容器id redis-cli #进入容器的redis
auth 123456 #操作redis之前需要登陆: auth 密码
set name xdclass #简单写一个键值对指令
|-------------------------------|-----------------------------------------------------------------------------|
| docker run -itd | -i交互模式、-t分配终端、-d后台运行 → 组合起来是 "后台启动并保持容器运行" |
| --name xdclass-redis | 给容器命名为xdclass-redis |
| -p 6379:6379 | 端口映射:主机 6379 端口 ↔ 容器内 Redis 默认端口 6379 |
| -v /mydata/redis/data:/data | 数据卷挂载:主机/mydata/redis/data目录 ↔ 容器内 Redis 数据目录/data → 实现数据持久化(容器删除后数据不丢) |
| redis:7.0-alpine | 基于redis:7.0-alpine镜像启动(Alpine 是轻量级 Linux 系统,镜像体积小) |
| --requirepass 123456 | 设置 Redis 的连接密码为123456 |