包含标签 docker 的文章

如何更改 Alpine 类型的 Docker 容器的时区设置

问题/现象 最近在公司的CI/DI服务器上尝试使用 drone 的 cron 来配置自动构建测试功能。然而发现配置的 cron表达是总是少了8个小时,于是猜测应该是时区设置的问题。 drone 这个 docker 镜像使用的是 alpine linux。 解决问题 由于docker所属宿主服务器是使用了时间服务器的,因此我希望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……

阅读全文

在CentOS7上安装 Docker

参考文档 https://docs.docker.com/engine/install/centos/ 设置安装源 sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 安装最新版本 sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 启动 Docker sudo systemctl start docker 验证 Docker sudo docker run hello-world 由于使用 docker.repo 的网速比较慢,你也可以下载到本地后手动安装。……

阅读全文

批量删除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搭建easy-mock

官方镜像 https://hub.docker.com/r/easymock/easymock 目录结构 ➜ docker-compose git:(master) ✗ tree . └── easy-mock ├── docker-compose.yml └── production.json 1 directory, 2 files docker-compose.yml 内容 version: "3" services: mongodb: image: mongo:3.4.1 volumes: # ./data/db 数据库文件存放地址,根据需要修改为本地地址 - "./data/mongodb:/data/db" networks: - easy-mock restart: always redis: image: redis:4.0.6 command: redis-server --appendonly yes volumes: # ./data/redis redis 数据文件存放地址,根据需要修改为本地地址 - "./data/redis:/data" networks: - easy-mock restart: always web: image: easymock/easymock:1.6.0 command: /bin/bash -c "npm start" ports: - "7300:7300" volumes: # 日志地址,根据需要修改为本地地址 - "./logs:/home/easy-mock/easy-mock/logs"……

阅读全文

在docker-compose中启动redis并设置密码

docker-compose.yml redis: image: "redis:7.0.0-alpine" container_name: "redis" privileged: true ports: # docker容器redis默认端口号:6379 - "6379:6379" command: - redis-server - --requirepass - "your-password-here" 命令行方式 启动 docker 容器时携带参数 --requirepass your-password 即可……

阅读全文

使用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……

阅读全文