Docker 安装使用过程的坑

Docker 安装使用过程的坑

一、Docker 简介

1. docker 是什么

  • Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 机器上,也可以实现虚拟化。

在这里插入图片描述

2. docker 的特点

  • 灵活:即使是最复杂的应用也可以容器化。
  • 轻量:容器是进程,能利用并共享主机操作系统内核。
  • 替换:可以即时部署更新和升级容器。
  • 便携:可以在本地构建,部署到云并在任何地方运行。
  • 扩展:您可以增加并自动分发容器副本。
  • 组合: 您可以自由地组合(stack)服务

二、安装使用 docker 过程中出现的问题

1. 安装依赖时出错

① 问题
  • 使用以下命令时,提示 failure: repodata/repomd.xml from mirrors.aliyun.com_docker-ce_linux_centos_docker-ce.pro
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

在这里插入图片描述
在这里插入图片描述

② 解决办法
  • 切换到 /etc/yum.repos.d 目录下,将所有 docker 相关的 repo 全部删掉
    在这里插入图片描述
  • 使用 rm 命令删除后再查看
    在这里插入图片描述
  • 重新安装依赖,安装成功

在这里插入图片描述

2. 拉取镜像时速度缓慢

① 问题
docker run -it ubuntu bash
  • 如上拉取 ubuntu bash 镜像时容易 timeout error,因为默认是从 Docker Hub 拉取镜像,而国内从 Docker Hub 拉取镜像有时会遇到困难,下载速度缓慢
  • 因此最好更换 Docker 的国内镜像源,以下是 Docker 的国内镜像源的资源站:

Docker中国区官方镜像
阿里云
网易
中国科技大学

② 解决方法
  • 导入为镜像源,并重启 Docker 服务
[root@localhost henryhzy]# vim /etc/docker/daemon.json
{
    "registry-mirrors" : [
    "https://registry.docker-cn.com",
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com",
    "https://cr.console.aliyun.com/"
  ]
}

[root@localhost henryhzy]# systemctl daemon-reload
[root@localhost henryhzy]# systemctl restart docker
  • 拉取 Docker Ubuntu 镜像
    在这里插入图片描述
  • 再次运行 Docker Ubuntu 镜像
    在这里插入图片描述

3. Docker compose 下载安装出错

① 问题
  • 在下载安装 Docker compose 时,提示 “没有可用软件包”
    在这里插入图片描述
② 解决办法
  • 在 github 上 选择自己的版本,下载安装离线安装包
    https://github.com/docker/compose/releases
    在这里插入图片描述
  • 将二进制文件移到用户目录下
    在这里插入图片描述
  • 添加可执行权限
    在这里插入图片描述
  • 验证版本
    在这里插入图片描述
  • 编写 stack.yml,注意代码格式一定要缩进
version: '3.1'
services:
 db:
  image: mysql:5.7
  command: --default-authentication-plugin=mysql_native_password
  restart: always
  environment:
   MYSQL_ROOT_PASSWORD: 19970805
 adminer:
  image: adminer
  restart: always
  ports:
 - 8080:8080
  • 通过执行 docker-compose up -d 命令,我们即可启动 db 和 adminer 两个容器
    在这里插入图片描述

4. docker 命令每次需要加 sudo

① 问题
  • 安装完 docker 后,在使用相关命令的时候会报下面这样的权限错误
    在这里插入图片描述
  • 版本号是正确的但是缺少服务端有报错信息
② 解决方法
  • 需要添加 docker 用户组
sudo groupadd docker
  • 将登陆用户加入到 docker 用户组中
sudo gpasswd -a $USER docker	#USER处是你自己的用户名
  • 更新用户组
newgrp docker

  • 测试是否解决问题
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值