【Docker】Docker的安装和使用

一.在终端连接自己的云服务器

如何连接云服务器?

第一种方式:(连接一段时间之后就会断开)

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)

  1. 首先用 【docker ps】 查看容器
  2. 用 【docker stop 容器id 】将容器停止
  3. 然后使用【docker rm 容器id】 删除容器
  4. 查看docker容器:【docker ps】(此时应该没有mysql容器了)
  5. 查看镜像:【docker images 】(此时还有mysql的镜像)
  6. 删除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/mysqlrw表示读写权限(确保数据持久化,容器删了数据也在) |
| -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 |

相关推荐
TunerT_TQ6 分钟前
Valhalla 静态工程审阅 #009|Continue 源码证据驱动评测【大厂开源基础设施特辑】
vscode·测试工具·开源·llm·github·jetbrains·ai编程助手
TunerT_TQ18 分钟前
Valhalla 静态工程审阅 #008|RisingWave 源码证据驱动评测【大厂开源基础设施特辑】
rust·开源·github·实时数据处理·流式数据库·apacheflink·streamingsql
张忠琳1 小时前
【NPU】Ascend Docker Runtime v26.0.1 之三 runtime/dcmi/ — 超深度逐行分析
云原生·容器·kubernetes·npu·docker-runtime
giaming0232 小时前
告别Docker Desktop!一款轻量级原生开发环境管理工具:FlyEnv
运维·docker·容器
孪生质数-4 小时前
AI Agent 工程实践(一):大模型 API 接入示范
网络·人工智能·ai·chatgpt·github·claude·claudecode
fthux4 小时前
装闭 RenoPit 源码解析(13):生成AI装修闭坑PDF报告
人工智能·ai·pdf·开源·github
TunerT_TQ5 小时前
Valhalla 静态工程审阅 #007|AgentENV 源码证据驱动评测【大厂开源基础设施特辑】
rust·开源·go·github·sandbox·分布式系统·ai基础设施
暗影凋落5 小时前
docker-image 工具展示更详细镜像层内容
运维·docker·容器
极客先躯5 小时前
高级java每日一道面试题-2026年05月11日-实战篇[Docker]-如何容器化金融产品推荐系统?
java·运维·docker·容器·金融·高级面试·金融产品推荐系统
小泊客5 小时前
友善R5C刷OpenWrt后RTL8822CE无线网卡显示“禁用”或“未激活”的完整解决方案
linux·github·运维开发