Docker 安装教程

基于 Ubuntu 22.04 安装

安装 Docker

安装依赖

如果你过去安装过 docker,先删掉:

sudo apt-get remove docker docker-engine docker.io

安装 Docker-CE

export DOWNLOAD_URL="https://mirrors.tuna.tsinghua.edu.cn/docker-ce"
# 如您使用 curl
curl -fsSL https://get.docker.com/ | sudo -E sh
# 如您使用 wget
wget -O- https://get.docker.com/ | sudo -E sh

配置 Docker Hub 国内源

编辑 /etc/docker/daemon.json sudo vim /etc/docker/daemon.json 加入:
中科大源

{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}

阿里云私有源(请配成自己的噢):

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

免 Sudo 操作 Docker

如果还没有 docker group 就添加一个:

sudo groupadd docker

将用户加入该 group 内。

sudo gpasswd -a ${USER} docker

然后 退出并重新登录 就生效啦。

构建基础镜像

众所周知, Linux 上默认的镜像源大多都是国外的, 由于网络相关问题, 在国内使用 apt 等安装软件时难免会出现现在速度慢, 下载失败等原因, 因此有必要初始化一个自己的基础镜像

配置 Dockerfile

FROM ubuntu:20.04

ENV version 1.0

RUN apt update && apt install ca-certificates -y

COPY ./sources.list /etc/apt/sources.list

RUN apt-get update

RUN apt install vim net-tools lrzsz curl wget -y

RUN rm -rf /var/lib/apt/lists/*

构建镜像

需要在 dockerfile 所在目录执行此操作
docker build -t jansora/base:v1 .

推送镜像到 Docker hub

需要登录到 Docker Hub. https://hub.docker.com/?ref=login
docker push jansora/base:v1

mac docker 局域网配置

使用 docker-connector

首先 Mac 端通过 brew 安装 docker-connector

1
brew install wenjunxiao/brew/docker-connector
然后执行以下命令把 docker 的所有 bridge 网络都添加到路由中

1
docker network ls --filter driver=bridge --format "{{.ID}}" | xargs docker network inspect --format "route {{range .IPAM.Config}}{{.Subnet}}{{end}}" >> /usr/local/etc/docker-connector.conf
也可以手动修改 /usr/local/etc/docker-connector.conf 文件中的路由,格式是

1
route 172.17.0.0/16
路由的子网决定了你能访问那些容器

配置完成,直接启动服务(需要 sudo,路由配置启动之后仍然可以修改,并且无需重启服务立即生效)

1
sudo brew services start docker-connector
然后使用以下命令在 docker 端运行 wenjunxiao/mac-docker-connector,需要使用 host 网络,并且允许 NET_ADMIN

1
docker run -it -d --restart always --net host --cap-add NET_ADMIN --name connector wenjunxiao/mac-docker-connector

评论栏