ubuntu20安装docker


安装docker

来源自:https://docs.docker.com/engine/install/ubuntu/

  1. 首先卸载原来的docker

    sudo apt-get remove docker docker-engine docker.io containerd runc
  1. 配置repository

    1. Update the apt package index and install packages to allow apt to use a repository over HTTPS:

      $ sudo apt-get update
      
      $ sudo apt-get install \
          ca-certificates \
          curl \
          gnupg \
          lsb-release
    2. Add Docker’s official GPG key:

      $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    3. Use the following command to set up the stable repository. To add the nightly or test repository, add the word nightly or test (or both) after the word stable in the commands below. Learn about nightly and test channels.

      $ 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" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. 安装docker

    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io

    在某次执行apt-get update的时候出现错误

    W: GPG error: https://download.docker.com/linux/ubuntu focal InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7EA0A9C3F273FCD8
    E: The repository 'https://download.docker.com/linux/ubuntu focal InRelease' is not signed.
    N: Updating from such a repository can't be done securely, and is therefore disabled by default.

    通过以下方式解决

     curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  2. 如果需要安装指定版本

    apt-cache madison docker-ce
    sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
  1. 将用户加入到docker用户组中

    sudo usermod -aG docker rui

安装docker-compose

来源:https://docs.docker.com/compose/install/

  1. 下载安装并赋予可执行权限

    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose

docker pull镜像时加速

我这里用的是阿里云的docker源镜像。

mkdir -p  /etc/docker/
vim /etc/docker/daemon.json

在这个文件里写入下面的内容。

{
  "registry-mirrors": ["https://yourlink.mirror.aliyuncs.com"]
}

这个链接在阿里云的docker镜像里面会有。请百度搜索docker阿里云加速获取。

docker配置代理

以下内容摘抄于https://cloud.tencent.com/developer/article/1806455

Container 代理

在容器运行阶段,如果需要代理上网,则需要配置 ~/.docker/config.json。以下配置,只在Docker 17.07及以上版本生效。

{
 "proxies":
 {
   "default":
   {
     "httpProxy": "http://proxy.example.com:8080",
     "httpsProxy": "http://proxy.example.com:8080",
     "noProxy": "localhost,127.0.0.1,.example.com"
   }
 }
}

以下是我的配置文件,我已经在vps上装好了clash

{
 "proxies":
 {
   "default":
   {
     "httpProxy": "http://172.18.0.1:7890",
     "httpsProxy": "http://172.18.0.1:7890",
     "noProxy": "localhost,127.0.0.1,"
   }
 }
}

这个是用户级的配置,除了 proxiesdocker login 等相关信息也会在其中。而且还可以配置信息展示的格式、插件参数等。

Docker Build 代理

虽然 docker build 的本质,也是启动一个容器,但是环境会略有不同,用户级配置无效。在构建时,需要注入 http_proxy 等参数。

docker build . \
    --build-arg "HTTP_PROXY=http://proxy.example.com:8080/" \
    --build-arg "HTTPS_PROXY=http://proxy.example.com:8080/" \
    --build-arg "NO_PROXY=localhost,127.0.0.1,.example.com" \
    -t your/image:tag

注意:无论是 docker run 还是 docker build,默认是网络隔绝的。如果代理使用的是 localhost:3128 这类,则会无效。这类仅限本地的代理,必须加上 --network host 才能正常使用。而一般则需要配置代理的外部IP,而且代理本身要开启 Gateway 模式。

重启生效

代理配置完成后,reboot 重启当然可以生效,但不重启也行。

docker build 代理是在执行前设置的,所以修改后,下次执行立即生效。Container 代理的修改也是立即生效的,但是只针对以后启动的 Container,对已经启动的 Container 无效。

dockerd 代理的修改比较特殊,它实际上是改 systemd 的配置,因此需要重载 systemd 并重启 dockerd 才能生效。

sudo systemctl daemon-reload
sudo systemctl restart docker

评论
评论
 上一篇
RDMA中QP共享方法的整理 RDMA中QP共享方法的整理
下面总结了一下已有论文中给出的qp共享的方法。 OSDI16- FaSST: Fast, Scalable and Simple Distributed Transactions with Two-sided (RDMA) Datagram
2022-03-14 Zhang Rui
下一篇 
家里产的茶叶 家里产的茶叶
逛v2ex的时候看到有朋友想买茶叶,于是我就小小的推荐了一下自己的产品。 https://www.v2ex.com/t/839206 很可惜,需要科学上网才能打开这个网站。 为了不占用论坛回复的太多空间,所以我将更多的图片放在这里了。
2022-03-09 Zhang Rui
  目录