一、Docker 安装步骤
  1. 检查并卸载旧版本

     

    在Ubuntu系统中,可能已经预装了低版本的Docker。首先需要卸载这些旧版本以避免冲突。

    sudo apt-get remove docker docker-engine docker.io containerd runc
  2. 更新软件包列表

     

    更新你的现有包列表以及已安装包的版本:

    sudo apt update && sudo apt upgrade
  3. 安装依赖

     

    Docker在Ubuntu上运行需要一些特定的软件包支持:

    sudo apt-get install ca-certificates curl gnupg lsb-release
  4. 添加Docker官方GPG密钥

     

    这一步是为了确保下载的Docker包是可信的:

    curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  5. 添加Docker软件源

     

    添加阿里云提供的Docker CE仓库地址:

    sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
  6. 安装Docker CE

    现在可以开始安装最新的Docker社区版了:

    sudo apt-get install docker-ce docker-ce-cli containerd.io
  7. 配置用户组(可选)

     

    为了方便使用,可以将当前用户添加到docker组,避免每次使用Docker时都需要sudo:

    sudo usermod -aG docker $USER

    注:更改后需要重新登录才能生效。

  8. 验证安装

     

    使用以下命令验证是否成功安装并启动Docker:

    sudo docker run hello-world
  9. 查看Docker版本

    检查你所安装的Docker版本信息:

    sudo docker version
二、遇到的问题及解决方案

问题1: failed to register layer: exit status 22

当尝试拉取镜像时可能会遇到错误提示unpigz: abort: zlib version less than 1.2.3,尽管实际上你的zlib版本高于1.2.3。这是由于pigz工具存在bug导致的。解决方法如下:

  1. 下载并编译最新版本的pigz

    wget https://github.com/madler/pigz/archive/refs/tags/v2.8.tar.gz
    tar -zxf v2.8.tar.gz
    cd pigz-2.8
    make
  2. 备份现有的pigzunpigz

    mv /usr/bin/pigz /usr/bin/pigz.bak
    mv /usr/bin/unpigz /usr/bin/unpigz.bak
  3. 将新编译的pigzunpigz复制到系统目录:

    cp pigz unpigz /usr/bin/
  4. 验证安装的新版本:

    pigz -V

完成上述步骤后,再次尝试拉取镜像应能正常工作。

三、Docker远程连接

通过SSH服务进行远程连接容器是一种高效的方式,以下是详细步骤:

  1. 启动容器

     

    在服务器端启动一个带有SSH服务的Docker容器:

    docker run -itd -p 10008:10008 -v /dev/shm:/dev/shm --name your_container_name your_image_name /bin/bash
  2. 进入容器并安装SSH服务

     

    更新包列表并安装SSH服务:

    apt-get update && apt-get install openssh-server openssh-client ssh vim
  3. 配置SSH服务

     

    修改SSH配置文件允许root用户通过SSH登录,并重启SSH服务:

    vim /etc/ssh/sshd_config
    # Add the following lines:
    Port 10008
    PermitRootLogin yes
    /etc/init.d/ssh restart
  4. 设置开机自启动SSH服务

     

    编辑~/.bashrc文件,在末尾添加:

    service ssh start
  5. 使用VSCode连接容器

    在VSCode中配置Remote-SSH插件,填写相应的服务器IP、端口等信息,即可实现远程开发环境。

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐