安装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
才能找到对应版本,也可以到我的网盘下载。
将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