标签归档

基于阿里云的DDNS Docker

100块钱都不给你~!!!!

什么花生壳之类的,上官网一看价格,要100多块钱一年。自己跑阿里云注册个.cc域名,一年才30元。。太坑了。。一查,正好阿里开放做得不错,那就自己干了。

项目地址: http://joson.cc:8102/joson/aliyun_ddns
也可在以上地址的release直接下载docker发行tar。load一下就能用

golang最小化镜像

# 基础镜像,基于golang的alpine镜像构建--编译阶段
FROM golang:alpine AS builder

# 作者
MAINTAINER joson
# 变量
# ARG <name>[=<default value>]

# 全局工作目录
WORKDIR /go/ddns

# 把运行Dockerfile文件的当前目录所有文件复制到目标目录
COPY . /go/ddns

# 环境变量
# 用于代理下载go项目依赖的包
ENV GOPROXY https://goproxy.cn,direct

# 编译,关闭CGO,防止编译后的文件有动态链接,而alpine镜像里有些c库没有,直接没有文件的错误
RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build



# 使用alpine这个轻量级镜像为基础镜像--运行阶段
FROM alpine AS runner

# 全局工作目录
WORKDIR /go/ddns

# 复制编译阶段编译出来的运行文件到目标目录
COPY --from=builder /go/ddns/aliyun_ddns .
# 复制编译阶段里的config文件夹到目标目录
COPY --from=builder /go/ddns/conf/aliyun-ddns.conf /go/ddns/conf/.

# 将时区设置为东八区
RUN echo "https://mirrors.aliyun.com/alpine/v3.8/main/" > /etc/apk/repositories \
    && echo "https://mirrors.aliyun.com/alpine/v3.8/community/" >> /etc/apk/repositories \
    && apk add --no-cache tzdata \
    && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  \
    && echo Asia/Shanghai > /etc/timezone \
    && apk del tzdata

# 需暴露的端口
#EXPOSE 8888

# 可外挂的目录
VOLUME ["/go/ddns/conf"]
# docker run命令触发的真实命令(相当于直接运行编译后的可运行文件)
ENTRYPOINT ["./aliyun_ddns"]

docker网络

#显示所有docker局域网络
docker network ls

#创建自定义网络
docker network create mynet

#显示某个局域网络信息
docker network inspect mynet

#把容器加入网络
docker network connect 网络名 容器名

#把容器踢出网络
docker network disconnect 网络名 容器名

#查看所有容器IP
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

#删除所有未引用网络
docker network prune

#删除docker网络
docker network rm 网络名


#docker windows 无法pull
DockerCli.exe -SwitchDaemon

podman笔记

#容器镜像加速服务
https://cr.console.aliyun.com/cn-zhangjiakou/instances/mirrors?accounttraceid=df5460ffc1564ef18daafa6f0fab9384lwno

podman build -f Dockerfile -t ubi-with-nano
podman run ubi8/ubi
podman ps -a

#检查正在运行的容器
podman inspect -l |grep -i ipaddress
podman attach xxxx

#导出导入
podman save > php8.1.tar php:8.1
docker load < php8.1.tar

#停止指定pod或者所有pod(其中的容器也随之停止)

podman pod stop HelloWorld
podman pod stop $(podman pod ps -q)

#删除指定Pod或者删除所有已经停止的pod

podman pod rm -f HugoBlog
podman pod rm $(podman pod ps -q)
podman rm $(podman ps -a -q)

#这里需要修改podman的配置文件,/etc/containers/registries.conf

unqualified-search-registries = ["docker.io"]
[[registry]]
prefix="docker.io"
location="fi54miqv.mirror.aliyuncs.com"
csdn.net/liqz2009/article/details/126567221

#给go项目打最小docker镜像
https://www.bilibili.com/read/cv17024112

#查看所有容器IP
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)

dsG5CrIhXayAC4I9
grant all privileges on . to root@'%';

#ubuntu更换源
sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
sed -i s@/security.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
apt-get clean
apt-get update

#mysql密码问题
https://blog.csdn.net/qq_54202620/article/details/122729704