安装Docker compose  升级 删除
安装Docker compose 升级 删除

安装Docker compose 升级 删除

docker-compose up -d

官方安装文档参考:在 Debian 上安装 Docker 引擎 |Docker 文档

一、docker安装

Docker官方安装文档(英文)

Docker-Compose官方安装文档(英文)

官方主页:点击进入

安装 Docker 环境

更新系统点击进入

安装 Docker(非大陆服务器)

参考文章:https://iwanlab.com/nginx-proxy-manager/

wget -qO- get.docker.com | bash
docker -v  #查看 docker 版本
systemctl enable docker  # 设置开机自动启动

安装Docker-compose(非大陆服务器)

sudo 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-compose --version  #查看 docker-compose 版本

修改 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

这段命令是一个shell脚本,用于配置Docker守护进程(daemon)的参数。这段脚本将创建一个/etc/docker/daemon.json文件,并将指定的JSON配置写入这个文件。下面解释一下各个配置选项的含义:

  • "log-driver": "json-file":设置日志驱动为json-file,这将使Docker把容器日志写入到JSON格式的文件中。
  • "log-opts": { "max-size": "20m", "max-file": "3" }:设置日志选项,最大日志文件大小为20MB,最多保留3个日志文件。
  • "ipv6": true:启用IPv6网络。
  • "fixed-cidr-v6": "fd00:dead:beef:c0::/80":设置IPv6的固定CIDR(无类别域间路由)地址为fd00:dead:beef:c0::/80。这是一个用于IPv6地址分配的私有网络范围。
  • "experimental":true:启用实验性功能。
  • "ip6tables":true:启用IPv6 iptables(Linux下的一个防火墙软件)。

<<EOFEOF是一种shell脚本的语法,用于多行字符串的输入。在这种情况下,它允许你在多行中输入JSON配置。

所以,这段脚本的主要目的是以JSON格式来配置Docker守护进程的参数,然后将这些配置保存到/etc/docker/daemon.json文件中。在执行这段脚本后,你需要重新启动Docker守护进程以应用这些新配置。

然后重启 Docker 服务:

systemctl restart docker

安装Docker国内版

您提供的代码是在Debian或Ubuntu系统上添加Docker的官方GPG密钥并设置Docker的Apt源的过程。从您给出的代码看起来,大体上应该是没有问题的。但是,我会对每一步进行简要的解析以确保没有遗漏:

  1. 更新apt的包列表:
sudo apt-get update
  1. 安装必要的软件包:
sudo apt-get install ca-certificates curl gnupg
  1. 创建一个目录,并设置适当的权限来存放GPG密钥:
sudo install -m 0755 -d /etc/apt/keyrings
  1. 从Docker的官方网址下载GPG密钥,并将其解甲:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  1. 更改GPG密钥的权限,使所有用户都可以读取它:
sudo chmod a+r /etc/apt/keyrings/docker.gpg
  1. 将Docker的仓库添加到Apt的源中:
    您使用了echotee命令来创建和写入/etc/apt/sources.list.d/docker.list文件。此外,您使用了命令替换来获取当前系统的版本代号并插入到Docker的仓库URL中。这部分的逻辑看起来是正确的
echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

7.再次更新apt的包列表以包含新添加的Docker仓库:

sudo apt-get update

以上步骤应该可以正常工作。但请注意以下几点:

  • 在执行这些命令之前,确保您已经以root权限或具有sudo访问权限的用户身份登录。
  • 如果系统已经安装了较新版本的Docker或其他相关的包,那么添加这个新源可能不会替换它们。你可能需要先卸载旧版本,或者根据需要调整源的优先级。
  • 始终从官方或受信任的来源获取代码,并确保您理解其作用,以防止任何潜在的安全风险或系统不稳定。

windows安装docker

Windows 安装 Docker Compose

六、创建一个docker

1、获取镜像

#先搜索一个容器名字

docker search nginx

2、拉取镜像

docker pull nginx

3、查看

1、查看本地镜像文件

查看本地当前有些什么镜像images

docker images
docker image ls

#只列出容器的id

docker images –q
2、查看所有运行的容器

1、查看正在运行的容器

docker ps

2、查看正在运行的容器的ID

docker ps -q

3、查看正在运行+历史运行过的容器

docker ps -a

4、显示运行容器总文件大小

docker ps -s

3、启动、停止容器

启动一个容器

docker start 器名|容器id

停止一个运行中的容器

docker stop 容器名|容器id

杀掉一个运行中的容器

docker kill 容器名|容器id

启动一个docker容器

#docker run 参数 镜像的名字/id

#-d 后台运行容器

#-p 80:80 端口映射 宿主机端口:容器端内端口 你访问到宿主机的端口,也就访问到了容器内的端口

docker run -d -p 80:80 nginx

4、删除

1、#删除docker容器

镜像短ID:docker rmi 14f6;(这个代表镜像id以14f6开头的镜像,一般而言,前四位可以唯一标志,如果不可以,docker会提示的)
镜像长ID:docker rmi 14f60031763d;
镜像名: docker rmi ubuntu:latest

如果要删除本地的镜像,可以使用 docker rmi (注意rm为删除容器,而rmi为删除镜像,其中i代表image)命令,它的具体语法如下:

删除一个已停止的容器

#docker rm 容器名|容器id

docker rm 

删除一个运行中的容器

docker rm -f 容器名|容器id
2、#删除docker镜像

如果想要使用docker rmi删除一个镜像,需要注意需要先将使用该镜像的容器删除掉,否则该镜像不能删除成功。当然也可以使用docker rmi -f 强制删除该镜像!

#docker rmi 1fe436fb3925

docker rmi

#强制删除运行的docker镜像

docker rmi -f 
3、删除多个docker镜像

如果想要删除所有镜像,可以这么写:,docker images -q 查看本地镜像ID

docker rmi $(docker images –q)
5.1 docker命令搭建的常用卸载方法
docker ps 

docker stop 容器名字

cd ~

docker rm -f 容器名字

rm -rf 映射出来的路径
5.2 docker-compose搭建的卸载方法
cd /root/data/docker_data/qBittorrent

docker-compose down 

cd ~

rm -rf /root/data/docker_data/qBittorrent # rm -rf 映射出来的路径
5.3 卸载docker本身
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin

sudo rm -rf /var/lib/docker

sudo rm -rf /var/lib/containerd

参考:https://docs.docker.com/engine/install/debian/

5.4 卸载docker-compose
cd /usr/local/bin/

rm -rf docker-compose

5、dcoker-compose更新

cd /root/memos/

一件升级

docker-compose down && docker compose pull && docker compose up -d && docker image prune -y

分解步骤

docker-compose down #停止运行的docker
docker-compose pull  #拉取新的镜像
docker-compose up -d  #运行
docker image prune  # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像

6、docker迁移

例句

scp -P 22 -r memos root@10.10.10.23:/root

迁移命令

tar -czvf .halo.tar.gz .halo.archive 
scp -P 22 -r .halo.tar.gz root@192.248.190.156:/root  # scp -P 端口 -r /root/backup/backup.tar 你的用户名@你的IP:/root/data/docker_data/
tar -zxvf .halo.tar.gz #解压
mv .halo.archive .halo   #把.halo.archive重命名成.halo

参考:https://www.runoob.com/linux/linux-comm-scp.html

https://www.runoob.com/linux/linux-comm-tar.html

九、docker其他命令

#docke IP

ip a

docker 端口

netstat -tunlp

centos发行版本:cat /etc/redhat-release

liunx内核版本:uname -r

ubantu发行版本:cat cat/etc/lsb-release

1、进入docker容器内部
docker run -it 容器名称id bash

退出容器内部

exit

dcoker数据存放路径

默认 Docker 的存放位置为:/var/lib/docker

docker info是:显示 Docker 系统信息,包括镜像和容器数

docker info
docker info | grep "Docker Root Dir"
docker 镜像存储路径,

该文件是记录 镜像和容器的关系

cd /var/lib/docker/image/overlay2/imagedb/content/sha256

运行一个容器,并进入到容器内部

-it开启一个交互式的终端
-rm容器退出时删除该容器

docker run -it --rm centos bash

docker容器管理

dcoker run

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注