Debain安装docker和docker-compose
Docker 简介
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包到一个轻量级、可移植的容器中。容器是一种虚拟化技术,但与传统的虚拟机不同,容器共享宿主机的操作系统内核,因此更加轻量级和高效。
Docker 的主要优势包括:
- 一致性:确保开发、测试和生产环境的一致性。
- 隔离性:每个容器都是独立的,互不干扰。
- 可移植性:容器可以在任何支持 Docker 的平台上运行。
- 高效性:容器启动速度快,资源占用少。
Docker-Compose 是 Docker 的一个工具,用于定义和运行多容器 Docker 应用程序。通过一个 YAML 文件(通常命名为 docker-compose.yml
),你可以配置应用程序的服务、网络和卷,然后使用一个命令启动所有服务。
初始操作
更新、安装必备软件
sudo apt update -y #更新软件源中的所有软件列表
sudo apt upgrade -y #更新软件
sudo apt install wget curl sudo vim git -y
docker安装配置
海外服务器
docker安装
wget -qO- get.docker.com | bash
docker卸载
sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
Docker-compose安装
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安装
curl -sSL https://get.daocloud.io/docker | sh
docker卸载
sudo apt-get remove docker docker-engine
sudo rm -fr /var/lib/docker/
Docker-compose安装
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.1.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker配置
修改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 服务:
sudo systemctl restart docker
docker其他操作
docker查看当前运行的容器
sudo docker ps
docker停止容器
sudo docker stop 容器id/名称
docker移除容器
sudo docker rm 容器id/名称
docker查看当前所有镜像
sudo docker images
docker移除指定镜像
sudo docker rmi 镜像id/名称
docker-compose容器迁移
#(压缩文件)tar -czvf 压缩文件名.tar.gz 压缩文件
sudo tar -czvf data.tar.gz data
#(传输文件)scp -P 端口 -r 压缩文件名.tar.gz 你的用户名@你的ip:/root
sudo scp -P 22 -r data.tar.gz [email protected]:/root
#(解压文件)tar -zxvf 压缩文件名.tar.gz
sudo tar -zxvf data.tar.gz
#(删除文件)rm -r 压缩文件名.tar.gz
sudo rm -r data.tar.gz
docker进入容器
sudo docker exec -i 容器id/名称 bash
docker-compose指令
#docker-compose 启动
sudo docker-compose up -d
#docker-compose 重启
sudo docker-compose restart
#docker-compose 停止
sudo docker-compose down