1.更新、安装必备软件
apt-get update && apt-get install -y wget vim
2.非大陆服务器docker与docker compose安装
2.1 docker安装
wget -qO- get.docker.com | bash
docker -v #查看 docker 版本
systemctl enable docker #开机自动启动
示例
root@racknerd-589c5d:~/data/docker_data# docker -v
Docker version 24.0.7, build afdd53b
卸载docker
apt-get purge docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
2.2 docker compose安装
可以去 https://github.com/docker/compose 查看最新的发布版本,修改版本号
curl -L "https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose # 赋予执行修改权限
docker compose version #查看版本
示例
root@racknerd-589c5d:~/data/docker_data# docker compose version
Docker Compose version v2.21.0
卸载docker compose
rm /usr/local/bin/docker-compose
3.大陆服务器docker与docker compose安装
3.1 docker安装
curl -sSL https://get.daocloud.io/docker | sh
docker -v #查看 docker 版本
systemctl enable docker # 设置开机自动启动
3.2 docker compose安装
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.21.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker compose version #查看 docker compose 版本
4.修改docker配置
以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘:
cat > /etc/docker/daemon.json <<EOF
{
"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
}
EOF
然后重启docker服务
systemctl restart docker
5.docker与docker compose常用命令
docker compose up # 从docker compose文件构建并启动容器
docker compose down # 停止并删除由docker compose文件定义的容器、网络和卷
docker compose ps # 查看由docker compose文件定义的正在运行的容器信息
docker compose logs # 查看由docker compose文件定义的容器的日志
docker compose build # 仅构建docker compose文件定义的服务的镜像
docker compose pull # 仅从docker compose文件定义的服务所需的镜像仓库中拉取镜像
docker compose restart # 重启由docker compose文件定义的容器
docker compose stop # 停止由docker compose文件定义的容器
docker compose start # 启动由docker compose文件定义的容器
docker compose exec # 在正在运行的容器中运行命令
docker 提供了方便的 docker system prune
命令来删除那些已停止的容器、dangling 镜像、未被容器引用的 network 和构建过程中的 cache
$ docker system prune
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- all dangling build cache
Are you sure you want to continue? [y/N] y
6.关于docker-compose与docker compose的说明
查看 https://docs.docker.com/compose/install/linux/
独立安装的Compose(通过下载安装包的方式),不论是V1还是V2版本,指令都是docker-compose(中间是短横线)
插件安装的Compose,在V2版本,指令是docker compose(中间是空格),最新版的docker安装时会自动以插件的形式安装docker compose
支持同时采用两种方式安装Compose,安装后可以同时使用docker-compose和docker compose
评论区