docker基础使用

docker的命令帮助文件很完善,输入命令查看帮助:

sudo docker

通过image启动一个容器:

去除 sudo docker run --gpus all -it -e "TERM=xterm-color" --net=host -v /home/xfz/temps:/temps nvcr.io/nvidia/pytorch:20.08-py3

其中-e "TERM=xterm-color"是传入TERM变量,使得终端中用户名彩色显示。

查看容器的网络类型

https://blog.csdn.net/misisippi68/article/details/105788004

Docker 代理配置

Docker 代理分为两种,一种是为运行的 Container 配置代理,用于下载一些依赖包以及访问公网。另一种是为 Docker Daemon 配置代理,用于支持 docker 相关的命令。

  1. 为容器配置代理

    配置容器代理一般分为两种,一种是全局配置,另一种是仅为某个容器配置。
    全局配置: 首先说明,此修改方法仅支持 ubuntu 17.07 或者更高版本。
    修改或创建 ~/.docker/config.json
    如果有的话,先备份一下:

    cp ~/.docker/config.json ~/.docker/config.json.bk
    

    修改内容如下

    gedit ~/.docker/config.json
    
    {
            "auths": {},
            "HttpHeaders": {
                    "User-Agent": "Docker-Client/19.03.2 (linux)"
            },
    
            "proxies":
            {
                "default":
                {
                    "httpProxy": "http://localhost:80",
                    "httpsProxy": "http://localhost:80"
                }
            }
    }
    

    为了确保生效,重启下 docker : systemctl restart docker
    如果宿主机没有开启为局域网其他机器代理功能,我们需要在run容器的时候加上–net=host让容器和宿主机共享网络,这时就可以使用宿主机的localhost代理。
    局部修改: 待写!

  2. 为 Docker Daemon 添加代理

    为 Docker Daemon 配置代理,作用于docker的search, pull, push 等命令。
    默认情况下这个配置文件夹并不存在,我们要创建它:

    sudo mkdir -p /etc/systemd/system/docker.service.d
    

    创建http-proxy.conf文件:

    sudo gedit /etc/systemd/system/docker.service.d/http-proxy.conf
    

    添加代理:

    [Service]
    Environment="HTTP_PROXY=127.0.0.1:10809"
    [Service]
    Environment="HTTPS_PROXY=127.0.0.1:10809"
    

    刷新systemd配置:

    sudo systemctl daemon-reload
    

    重启docker,在外面的世界遨游吧:

    sudo systemctl restart docker
    

用docker把项目部署在Linux服务器上全部流程(使用国内镜像)

  1. 下载安装docker
    • step 0. 安装设置仓库必须的工具
      sudo apt update && sudo apt install -y ca-certificates curl gnupg lsb-release
      
    • step 1. 添加阿里的 Docker 镜像仓库证书
      curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/aliyun-docker.gpg
      
    • step 2. 添加仓库
      echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/aliyun-docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
      $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      
    • step 3. 安装 docker-ce
      sudo apt update
      sudo apt install -y docker-ce
      
    • 验证安装
      sudo docker info
  2. 配置 docker hub 的国内镜像(注意,2024年6月此方法已不推荐,因为国内镜像因为某个不可抗拒力的原因不能实时跟新,pull下来的image都是两年前的旧版本,等后续)
    • 创建文件夹
      sudo mkdir -p /etc/docker
      
    • 将JSON串写入到daemon.json
      sudo tee /etc/docker/daemon.json <<-'EOF'
      {
      "registry-mirrors": ["https://i1el1i0w.mirror.aliyuncs.com"]
      }
      EOF
      
    • 重启docker
      sudo systemctl daemon-reload
      
      sudo systemctl restart docker
      
    • 查看docker镜像源
      cat /etc/docker/daemon.json
      
  3. 拉取 docker image

    这里用拉取caddy(一个反向代理服务器)镜像为例

    sudo docker pull caddy
    
  4. 启动docker虚拟机
    • 根据image启动container
      sudo docker run -d -p 80:80 -p 443:443 -v /home/xfz/web:/usr/share/caddy --name web-ui caddy:latest
      
      • -d: 后台运行容器,并返回容器ID
      • -p: 把宿主机的端口映射到container的端口,[host-port : container-port]
      • -v: 把宿主机的文件(夹)映射到container的文件(夹),[host-path : container-path]
      • –name:container的名字,建议设置,后续操作方便
      • 最后跟着image的名字和版本号
    • 设置container开机自动运行
      step.1 系统打开docker自启动服务
      sudo systemctl enable docker.service
      
      step.2 确认系统已经打开docker的自启动
      sudo systemctl list-unit-files | grep docker
      
      step.3 设置需要自动重启的container
      sudo docker update --restart=always container-name(or ID)
      
      --restart选项也可以跟在上边的run命令后边
    • 启动、停止一个已有的container
      启动:
      sudo docker start web
      
      停止:
      sudo docker stop web
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值