在Ubuntu 22.04上安装Docker并配置MySQL镜像服务并做到局域网访问


在Ubuntu22.04上安装Docker,并配置Mysql镜像服务,并可以通过局域网访问Mysql服务
最近在实验室服务器上与这个搏斗了很久,感觉网上教程很多因为众所周知的原因,都过时了,就想着自己写一篇出来得了
我的主要的踩坑点有:

  • Docker的国内镜像源很多失效了,导致很多以前的教程过期了
  • Mysql的镜像安装有许多细节的配置问题
  • Mysql的root权限设置、登录密码问题,以及开放局域网链接权限

安装Docker

清空原本的Docker

# 停止并删除所有正在运行的Docker容器:
sudo docker stop $(sudo docker ps -a -q)
sudo docker rm $(sudo docker ps -a -q)
# 删除所有Docker镜像:
sudo docker rmi $(sudo docker images -q)
# 删除第三方的Docker:
sudo apt purge docker-doc docker-compose docker-compose-v2 podman-docker docker.io
# 删除Docker的依赖:
sudo apt purge containerd runc
# 删除以前安装的Docker:
sudo apt purge docker docker-engine docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
# 删除 Docker 相关文件和目录:
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /etc/docker
sudo rm -rf /etc/systemd/system/docker.service.d
# 检查是否卸载完全
dpkg -l | grep docker
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P # 删除无用的相关的配置文件
sudo apt autoremove docker-ce-* # 删除没有删除的相关插件,或别的未删除的东西
sudo apt autoremove 
  • 注释:
    dpkg -l:列出所有通过dpkg安装的软件包,包括已安装的、未安装的、已安装但标记为删除的等。
    grep ^rc:grep是一个文本搜索工具,^rc表示匹配以"rc"开头的行。在dpkg的输出中,以"rc"开头的行表示软件包被标记为已删除(remove),但它们的配置文件还留在系统中。
    awk '{print $2}':awk是一个文本处理工具,这句命令的意思是从每一行中打印出第二个字段。在dpkg -l的输出中,第二个字段是软件包的名称。
    sudo xargs dpkg -P:xargs命令将前一个命令的输出作为参数传递给dpkg -P。sudo是用来获取管理员权限,因为卸载软件包需要管理员权限。dpkg -P命令是用于完全删除软件包,包括其配置文件。
    综上所述,这条命令组合的作用是找出所有已标记为删除但配置文件还留在系统中的软件包,并完全删除它们,释放系统空间并清理无用的配置文件。

安装

  1. 添加Docker的GPG密钥:

    # 指定gpg命令将公钥保存下来(显式,更好)
    # /usr/share/keyrings/是Ubuntu系统用于存放密钥环的目录
    # 阿里源
    curl -fsSL [https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg](https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg) | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    # 官方源
    curl -fsSL [https://download.docker.com/linux/ubuntu/gpg](https://download.docker.com/linux/ubuntu/gpg) | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    
    # 直接存到Apt秘钥仓库中(不推荐)
    curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    
  2. 设置Docker APT源:

    # 阿里源
    echo \
    "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] [https://mirrors.aliyun.com/docker-ce/linux/ubuntu](https://mirrors.aliyun.com/docker-ce/linux/ubuntu) \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    # 官方源
    echo \
    "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
  3. 更新APT软件包索引:sudo apt update

  4. 安装Docker:sudo apt install docker-ce docker-ce-cli containerd.io

  5. 验证Docker是否成功安装:sudo docker --version

  6. 启动Docker:sudo systemctl enable dockersudo systemctl start docker

  7. 查看docker状态:systemctl status docker

设置用户组

默认情况下,只有root用户和docker组的用户才能运行Docker命令,而docker守护进程通常通过一个Unix域套接字文件(通常是/var/run/docker.sock)与客户端通信。则docker.sock文件需要设置适当的权限,允许docker组的成员进行读写操作。

  1. (可选)建立docker组:sudo groupadd docker

  2. 将当前用户加入docker组:
    sudo usermod -aG docker $USER,需要注销并重新登录才能生效

  3. (可选)设置docker.sock文件的权

<think>嗯,用户的需求是在Ubuntu 22.04安装Docker,这是一个很常见的系统配置问题。从用户提问的简洁程度来看,可能是个刚接触Linux的新手,也可能是想快速查阅安装步骤的老手。需要提供清晰、无歧义的指导。 用户提供的引用资料里提到三种安装方式:直接apt安装、通过官方存储库安装、以及配置MySQL镜像的案例。其中引用[1]和[3]存在冲突点——引用[1]建议直接用系统包管理器安装,而引用[3]强调要添加Docker官方存储库。这需要我做出技术判断。 查阅Docker官方文档确认:Ubuntu 22.04自带的docker.io版本较旧(20.10.12),而当前稳定版是24.0.6。因此更推荐采用官方存储库安装,这能保证获取最新功能和安全性更新。不过直接apt安装确实更简单,适合测试环境使用。在回答中应该把两种方式都列出来,但明确标注推荐方案。 注意到用户引用中提到的"sudo apt install docker-ce"命令在未添加存储库时会报错,这正是引用[3]强调要先配置存储库的原因。需要特别提醒用户不要遗漏导入GPG密钥的步骤,否则会遇到"NO_PUBKEY"错误。 另外引用[2]提到用户组配置问题,这是实际使用中的高频痛点。很多用户安装后无法直接执行docker命令,会卡在权限错误上。需要把"post-installation steps"作为独立章节强调,包括将用户加入docker组的操作及必要的注销重登录动作。 测试环节设计要全面:从基础服务状态检查(docker --version)到实际容器运行(docker run hello-world),最后补充卸载方法——虽然用户没要求,但完整教程应该包含逆向操作。 相关问题延伸很自然:用户安装Docker后大概率会部署数据库或Web服务MySQL和Nginx是经典组合。局域网访问问题在实验室/公司环境很常见,值得单独列出。最后补充Docker升级是因为很多人会忽略维护。</think>以下是在Ubuntu 22.04安装Docker的完整步骤,结合最佳实践和官方推荐方法: ### 推荐方法:通过Docker官方存储库安装(获取最新版本) 1. **卸载旧版本**(确保环境干净) ```bash sudo apt remove docker docker-engine docker.io containerd runc ``` 2. **安装依赖工具** ```bash sudo apt update sudo apt install ca-certificates curl gnupg lsb-release ``` 3. **添加Docker的GPG密钥** ```bash sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg ``` 4. **设置存储库** ```bash echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` 5. **安装Docker引擎** ```bash sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin ``` --- ### 备选方法:通过Ubuntu仓库快速安装(版本可能较旧) ```bash sudo apt update sudo apt install docker.io ``` --- ### 关键配置步骤 6. **验证安装** ```bash sudo docker run hello-world # 看到欢迎信息即成功 ``` 7. **权限配置**(避免每次使用`sudo`) ```bash sudo usermod -aG docker $USER # 将当前用户加入docker组 newgrp docker # 立即生效组权限 ``` > 需重新登录或重启系统使更改完全生效[^2] --- ### 常用命令 | 功能 | 命令 | |------|------| | 启动服务 | `sudo systemctl start docker` | | 开机自启 | `sudo systemctl enable docker` | | 查看版本 | `docker --version` | --- ### 测试运行示例 ```bash docker run -it --rm ubuntu:22.04 bash # 启动临时Ubuntu容器 ``` --- ### 卸载Docker ```bash sudo apt purge docker-ce docker-ce-cli containerd.io sudo rm -rf /var/lib/docker sudo rm -rf /etc/apt/keyrings/docker.gpg ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值