分类 docker 中的文章

如何搭建自定义docker registry及web管理界面

前置条件 服务器安装好 docker 软件版本要求 25及以上 服务器安装好 nginx/caddy前端代理软件(caddy的话使用v2,本例子使用) 启动本地registry服务 docker run -d -p 5000:5000 --restart=always --name registry registry:2 启动本地docker-registry-ui docker run -d -p 5100:80 -e "SINGLE_REGISTRY=true" -e "NGINX_PROXY_PASS_URL=http://host.docker.internal:5000" --add-host host.docker.internal:host-gateway --restart=always --name registry-ui joxit/docker-registry-ui:2 使用 Caddyfile 配置 caddy 编辑 /etc/caddy/Caddyfile 配置,用htt……

阅读全文

批量删除docker的容器及镜像

批量删除所有容器 docker rm `docker ps -a -q` 批量删除所有镜像 docker rmi `docker images -q` 批量删除含有关键字的容器 docker rm `docker ps -a | grep dmj | awk '{print $1}'` 批量删除含有关键字的镜像 docker rmi --force `docker images | grep dmj | awk '{print $1}'` 关键知识点 docker ps -a -q 命令输出容器 id 使用grep "关键字" 命令查找想要的容器或镜像 使用 awk '{print $1}' 命令将第一列输出打印出……

阅读全文

使用docker alpine 的 java容器运行grpc服务报 "Could not find TLS ALPN provider; no working netty-tcnative, Conscrypt, or Jetty NPN/ALPN available"的错误

背景 在使用 java8(amazon corretto)本机(mac book pro)编译和运行项目时,无任何异常。将编译后的 jar 文件打包到 docker 镜像后,再运行,报”Could not find TLS ALPN provider; no working netty-tcnative, Conscrypt, or Jetty NPN/ALPN available“ 这个错误。 Dockerfile 内容如下: FROM amazoncorretto:8-alpine RUN sed -i 's/dl-cdn.alpinelinux.org/mirror.tuna.tsinghua.edu.cn/g' /etc/apk/repositories RUN apk --update add curl bash ttf-dejavu && \ rm -rf /var/cache/apk/* RUN apk add -U tzdata && \ /bin/cp /usr/share/zoneinfo/Asia/Shanghai……

阅读全文

使用docker+caddy搭建https站点的compose配置

version: "3.7" services: # http/2 server caddy: image: caddy:2.4.6-alpine container_name: caddy restart: unless-stopped network_mode: "host" environment: - TZ=Asia/Shanghai - agree - email=your-email@test.com volumes: - "~/docker/caddy/conf/Caddyfile:/etc/Caddyfile" - "~/docker/caddy/.caddy:/root/.caddy" - "~/docker/caddy/logs:/opt/logs" - "~/docker/caddy/www:/opt/www" ports: - 80:80 - 443:443……

阅读全文

如何在docker内部连接宿主机的MYSQL

windows/mac 平台连接方式 windows 和 mac 都是通过host.docker.internal去连接宿主机。 当你启动了一个 docker web 服务,需要修改 docker web 使用的 mysql 地址,将 localhost 改成 host.docker.internal 即可。 linux 平台连接方式 通过获取 docker 内部的网关获取到宿主机的 ip: docker inspect <container-id-or-name> | grep Gateway "Gateway": "", "IPv6Gateway": "", "Gateway": "172.18.0.1", "IPv6Gateway": "", 对于本例中 docker 应用程序使用的 MySQL 指向宿主机的 172.18.0.1:3306……

阅读全文