• Docker 容器中安装 Docker


    本文讲的是在Docker中安装Ubuntu容器,然后在这个Ubuntu容器中再安装Docker。或许这样可以省下买服务器的钱,当然这只是为了学习测试使用,真正项目上还是需要买服务器的。

    系统环境

    Linux: WSL2 Ubuntu 20.04
    Docker: 20.10.8
    

    执行步骤

    1. 拉取镜像、启动容器、复制文件到容器内

    # 1. 下载官方ubuntu
    docker pull ubuntu:20.04
    # 2. 运行容器 ub1
    docker run -it --name ub1 ubuntu:20.04
        # 按下 Ctrl + P + Q 让容器后台运行
    
    # 3. 将家目录下的必要文件复制到容器中
    docker cp .bash_logout ub1:/root
    docker cp .bashrc ub1:/root
    docker cp .profile ub1:/root
    

    2. 安装必备软件、配置容器

    # 4. 进入容器
    docker attach ub1
    # 5. 更新软件源并安装必备软件
    apt update & apt install -y vim curl net-tools iproute2 iputils-ping
    # 6. 进入家目录
    cd ~
    # 7. 修改复制进来的文件的所有者
    chown root.root .bash* .profile
    # 8. 设置用户名高亮:进入 .bashrc,追加下面内容
    vim ~/.bashrc
    
    # ================ 追加的内容 start ===============
    PS1='${debian_chroot:+($debian_chroot)}[33[01;34;40m]u[33[00;00;40m]@[33[01;33;40m]h[33[00;31;40m]:[33[00;00;40m]w [33[01;32;40m]$ [33[01;36;40m]'
    # ================ 追加的内容 end   ===============
    # 8. 更新配置信息
    source ~/.bashrc
    

    3. 安装Docker

    # 9. 安装Docker
    # 9.1 移除旧版本
    apt-get remove docker docker-engine docker.io containerd runc
    # 9.2 安装工具包
    apt update & apt-get install -y ca-certificates curl gnupg lsb-release
    # 9.3 添加 GPG key
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    # 9.4 设置Docker仓库
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] 
    https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
    # 9.5 安装 Docker Engine
    apt update & apt-get install -y docker-ce docker-ce-cli containerd.io
    # 9.6 安装后需要选时区
    
    # 10. 查看Docker
        # 发现只有 Docker Engine
    docker version
    

    4. 打包镜像、启动容器

    # 11. 先保存当前镜像
    docker commit -a "bpf" -m "add docker and tools" ub1 dockerubuntu
    # 12. 运行新的容器
    docker run -it --name ub2 --hostname docker1 
    -v /var/run/docker.sock:/var/run/docker.sock 
    --network mynet dockerubuntu
    

    :如果是安装其他Linux发行版也是类似的步骤,需要把最初的Ubuntu:20.04换成对应的镜像,和在官方文档中查找对应版本的下载Docker的步骤。

    参考资料

  • 相关阅读:
    Redis史上最全文章教程
    一目了然的 Node.js Windows10 安装篇
    maven 报错 Failed to execute goal on project ...: Could not resolve dependencies for project ...
    SpringCloud 的版本问题 (深入)
    shell编程题(二十八)
    shell编程题(二十七)
    shell编程题(二十六)
    C++之Boost Asio相关
    C++之function函数
    C++之正则表达式
  • 原文地址:https://www.cnblogs.com/bpf-1024/p/15489354.html
Copyright © 2020-2023  润新知