目录

安装docker和docker-compose

这篇文章展示了安装docker和docker-compose需要用到的几个简单命令.

1 安装docker

添加下载docker的镜像站,以下两个任选一个即可。

#清华大学镜像站
export DOWNLOAD_URL="https://mirrors.tuna.tsinghua.edu.cn/docker-ce"
#中科大镜像站
export DOWNLOAD_URL="http://mirrors.ustc.edu.cn/docker-ce"

全新debian不带curl需要先安装。

sudo apt install curl

然后使用如下命令然后等待即可

sudo curl -fsSL https://get.5zx.top/sh/install-docker.sh | bash

设置docker开机自启动

sudo systemctl enable docker

2 安装docker-compose

安装docker-compose到GitHub发布页下载,图片中圈红的为arm64版,x86_64处理器版在GitHub发布页需要点击Show all 26 assets才能找到对应版本,也可以到我的网盘下载。

/posts/myblog14/1.png
GitHub发布页
将docker-compose的二进制包传输到设备中的下载文件夹,然后执行以下命令。

#进入到下载文件夹
cd Downloads

#将docker-compose移动到相应位置
sudo mv docker-compose-linux-aarch64 /usr/local/bin/docker-compose

#赋予docker-compose可执行权限
sudo chmod +x /usr/local/bin/docker-compose

#查看docker-compose版本,试验是否安装成功
sudo docker-compose -v

如果服务器到GitHub连通良好,可直接在GitHub发布页对应的文件右键点击复制连接,然后在服务器直接wget后空格粘贴链接回车,下载到当前目录,然后在移动并授权。例:

wget https://github.com/docker/compose/releases/download/v2.32.1/docker-compose-linux-x86_64

3 配置docker

3.1 修改docker配置文件

编辑daemon.json文件,限制日志大小,并加入一些还可以用的镜像源。如果未来镜像失效可以自行到网上搜集镜像在配置文件中修改。

sudo nano /etc/docker/daemon.json

放入如下内容

{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "registry-mirrors": [
      "https://docker.imgdb.de",
      "https://docker.wanpeng.life",
      "https://docker.1panel.live",
      "https://hk11.606166.xyz"
    ]
}

然后重启 Docker 服务

sudo systemctl restart docker

4 使用代理拉取镜像[选做]

推荐使用第三节方法,第四节方法不推荐使用,建议第四节整节全部跳过,如确实明白理解可使用

如果有软路由等有代理环境,或自己会配置代理,可以不使用镜像源,使用自己的代理直接从dockerhub拉取镜像,这样只要在daemon.json文件加入添加IPv6支持,和限制日志大小两项就行了。

sudo nano /etc/docker/daemon.json

放入如下内容

{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "20m",
        "max-file": "3"
    },
    "ipv6": true,
    "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
    "experimental":true,
    "ip6tables":true
}

如何挂代理请自行研究,本小节指涉及把代理添加到docker拉取镜像的过程中,启动的docker容器是没有代理的。

4.1 创建配置文件夹和文件

创建一个Docker配置文件(如果不存在),并在其中添加代理设置。

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

4.2 在打开的文件中添加以下内容

按自己的实际修改

“your_proxy_server” 和 “proxy_port” 替换为实际的代理服务器和端口号。

[Service]
Environment="HTTP_PROXY=http://your_proxy_server:proxy_port"
Environment="HTTPS_PROXY=http://your_proxy_server:proxy_port"
Environment="NO_PROXY=localhost,127.0.0.1"

4.3 重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

5 创建portainer容器

我们可以通过部署一个可视化的容器管理面板来直观的管理容器,标签latest已经包含了arm64和x86处理器,两种处理器统一使用如下命令即可。

sudo docker run -d --restart=always --name="portainer" -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data 6053537/portainer-ce:latest

需要使用ufw防火墙管理可将-p 9000:9000改为--net=host访问都是9000端口

另附docker-compose.yml文件

version: "3.9"
services:
  portainer:
    image: 6053537/portainer-ce:latest
    restart: always
    container_name: portainer
    ports:
      - 9000:9000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/data

5 结语

我也是Linux的业余用户,在这里给大家分享了docker安装的常用的命令,希望能帮助到大家。

另附:自建docker镜像拉取代理项目GitHub