daoke 发布的文章

docker buildx build -t mydaoke/nps:latest --platform=linux/arm/v7,linux/arm64,linux/amd64,linux/arm/v6 . --push

docker-compose.yml

version: "3"
services:
    memos:
        container_name: memos
        ports:
            - 5230:5230
        volumes:
            - ./memos:/var/opt/memos
        image: neosmemo/memos:stable
    

docker-compose up -d

Tailscale就是基于Wireguard的一个联网工具,无需公网地址,通过去中心化,实现各个节点之间点对点的连接。配置简单友好,支持的各类平台和客户端。

下面是debian ubuntu armbian 家庭设备一键安装命令

curl -fsSL https://tailscale.com/install.sh | sh

获取登录链接,配置路由

tailscale up

开启子网网路由
在Tailscale的管理页面上,单击设备列表右侧的更多图标,禁用密钥过期,并打开子网路由。

tailscale up --advertise-routes=192.168.3.0/24

国外vps上

sudo tailscale up --advertise-exit-node

Docker 一键安装命令

curl -fsSLo- get.docker.com | /bin/sh

运行 hello-world 检查Docker引擎是否安装

docker run hello-world

运行一个 Ubuntu 容器

docker run -it ubuntu bash

显示所有的容器

docker ps -a

显示本机镜像

docker images

查看Ubuntu镜像的历史

docker history hello-world

查看镜像的历史

docker history ubuntu

删除所有容器

docker rm -f $(docker ps -qa)

删除所有镜像

docker rmi -f $(docker images -qa)


国内使用阿里云镜像

wget get.docker.com -O get.docker.sh
bash  get.docker.sh  --mirror Aliyun

使用国内镜像,显示deb包 源为 mirrors.aliyun.com

cat /etc/apt/sources.list.d/docker.list
deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/debian buster stable

镜像下载 修改 vim /etc/docker/daemon.json 添加 国内源,网上可以查

限制日志大小, vim /etc/docker/daemon.json 里设置
没有去用过,使用脚本 自动删除也是可以的

Docker 不是虚拟机,所以使用 htop 工具,是可以看到容器中运行的程序,运行的服务程序实际还是在宿主机上的,只是 Docker 容器挂载了虚拟的文件系统,Docker中的程序是和宿主机其他程序 文件系统隔离的。
如何查看并干净卸载所有容器和docker

1,查看所有运行的容器:

docker ps -a

2,停止所有容器,并删除所有容器

docker stop $(docker ps -q) & docker rm $(docker ps -aq)

3,删除所有镜像

docker rmi $(docker images -q)

4,卸载docker

apt-get purge docker-ce

apt-get purge docker-ce-cli

apt-get purge containerd.io

5,检查是否卸载完成

apt list --installed | grep docker

apt list --installed | grep containerd.io

6,删除残余文件

rm -rf /var/lib/docker

rm -rf /var/run/docker

rm -rf /etc/docker

rm -rf /run/docker.sock

rm -rf /var/lib/containerd

rm -rf /run/containerd

rm -rf /opt/containerd

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

重新启动 service docker restart

n1盒子自带的空间只有8G,基本上不够用,并且如果是用上了甜糖和docker的画,更不够用了,所以需要外接一个u盘或者硬盘,扩充空间

格式化硬盘
# -F 参数必须大写,参数有 12,16 和 32,分别对应 FAT12,FAT16,FAT32。然后按回车
mkfs.vfat -F 32 /dev/sda
# ext4格式的,然后按回车
mkfs.ext4 /dev/sda

挂载移动硬盘

# 查看磁盘分区
root@aml:~# fdisk -l

Disk /dev/sda: 57.3 GiB, 61530439680 bytes, 120176640 sectors
Units: sectors of 1 * 512 = 512 bytes

Device     Boot Start       End   Sectors  Size Id Type
/dev/sda          32 120176639 120176608 57.3G  c W95 FAT32 (LBA)

# 挂载u盘
mkdir -p /mnt/upan
mount -t ext4 /dev/sda /mnt/upan 

开机自动挂载

echo "/dev/sda /mnt/test ext4 defaults 0 0" >>/etc/fstab