在Linux虚拟机中安装Docker
- 1. 准备虚拟机环境
- 2. 安装Docker(CentOS为例)
- 3. 配置国内镜像加速器
- 4. 访问测试:
- 5.Docker镜像常用命令
- 6.Docker容器常用命令
在VMware中创建一台Linux虚拟机,然后登录该系统,按照标准流程安装Docker。
1. 准备虚拟机环境
- 创建Linux虚拟机:在VMware中新建一台虚拟机,安装你熟悉的Linux发行版,如Ubuntu或CentOS。
- 拍摄快照(重要!):在安装Docker前,建议为虚拟机拍摄一个快照。如果安装过程出现问题,可以快速恢复到干净状态。
- 确保网络通畅:虚拟机需要能够访问互联网以下载Docker安装包。
可测试ping baidu:ping -c 4 www.baidu.com
2. 安装Docker(CentOS为例)
在CentOS系统上安装(使用官方源)
使用su -切换到 root 用户
确认CentOS系统版本:cat /etc/redhat-release
这边是8.5.2111的,CentOS 8 已于 2021 年底停止维护,官方仓库已下线,所以必须使用 Vault 存档源 或国内镜像源才能正常 yum。
使用阿里云 CentOS 8 Vault 镜像,速度快。
# 1. 备份原有 repo 文件mkdir-p/etc/yum.repos.d/backupmv/etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/# 2. 下载阿里云提供的 CentOS 8 归档仓库配置curl-o/etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo# 3. 清理缓存并生成新缓存yum clean all yum makecache执行结果如下图:
安装所需软件包yum install -y yum-utils device-mapper-persistent-data lvm2
看到 Complete! 表示安装成功。
添加Docker的官方软件源yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装Docker引擎(三个核心组件)yum install -y docker-ce docker-ce-cli containerd.io
看到 Complete! 表示安装成功。
3. 配置国内镜像加速器
从 Docker Hub 官方服务器下载镜像nginx时出现,连接超时的问题,需要给docker配置国内进行加速器。
root用户直接执行,写入可用的 daemon.json 配置:
tee/etc/docker/daemon.json<<-'EOF' { "registry-mirrors": [ "https://docker.1ms.run", "https://docker.xuanyuan.me", "https://mirror.ccs.tencentyun.com" ] } EOF重载 systemd,重启 docker
systemctl daemon-reload systemctl restartdocker验证 docker 是否正常,查看镜像源是否生效:docker info
Registry Mirrors已经加载了我们配置的 3 个镜像加速地址,加速器配置生效
拉取最新版本nginx镜像:docker pull nginx
查看本地已经下载镜像:docker images
REPOSITORY 镜像名,TAG 版本,IMAGE‑ID 镜像 ID,SIZE 大小
创建并启动容器:docker run -d --name mynginx -p 8080:80 nginx
解说:Docker找到本地的nginx镜像,基于镜像新建一个容器实例,命名为myngix,做端口映射:虚拟机8080 ↔ 容器 80,放到后台运行。
- -d:
detach的简写,后台守护模式运行。容器在后台跑,不会占用你的终端窗口;不加-d的话,会把 nginx 日志打印在终端,窗口一关容器就停止。- –name mynginx: 容器名
mynginx。后续操作容器(停止、进入、重启)就直接用名字,不用复制一长串容器 ID;不写这个,docker 会随机生成一个名字。- -p 8080:80:端口映射
-p 宿主机端口:容器内部端口8080- nginx : 镜像名
返回一长串的数据是容器ID,代表容器创建启动成功
确认容器状态:docker ps
看到mynginx容器状态是Up,说明正在运行
4. 访问测试:
获取虚拟机 IP:
ip a
在宿主机浏览器访问:http://虚拟机IP:8080,就可以看到 Nginx 的欢迎页面。
5.Docker镜像常用命令
# 拉取最新版本nginxdockerpull nginx# 指定版本,不要latest,例如拉取nginx1.24dockerpull nginx:1.24# 查看本地已经下载镜像dockerimages# 删除本地镜像:如果镜像被容器占用,要先删除容器,才能删镜像dockerrmi nginx#搜索镜像dockersearch mysql6.Docker容器常用命令
#创建并启动容器 `docker run`dockerrun-d--namemynginx-p8080:80 nginx# 查看【正在运行】的容器dockerps# 查看所有容器(包含已经停止的)dockerps-a# 停止这个叫mynginx的容器dockerstop mynginx# 把停止的容器重新启动(不需要再run!run是新建)dockerstart mynginx# 删除容器# 先停止再删除dockerstop mynginxdockerrmmynginx# 强制直接删除正在运行容器dockerrm-fmynginx#进入容器内部终端:进入容器里面操作文件,调试dockerexec-itmynginx /bin/bash#查看容器日志:容器访问异常先看日志dockerlogs mynginx# 实时滚动查看日志dockerlogs-fmynginx