跳到主要内容

Docker 使用笔记

Docker端口映射

#  -p port:port  前宿主机 后容器
docker run -d -p 8080:8080 --name mynginx nginx

alpine镜像特性

# 安装包
apk add --update --no-cache nginx
# 删除包
apk del nginx
# 查看包
apk info nginx

# 安装 node-gyp 依赖
RUN apk add --no-cache python3 make g++

# 安装 Sharp 图像处理依赖
RUN apk add --no-cache vips-dev fftw-dev

# 安装 Canvas 依赖
RUN apk add --no-cache \
build-base \
cairo-dev \
jpeg-dev \
pango-dev \
giflib-dev

# 安装常用开发工具
RUN apk add --no-cache \
git \
curl \
bash \
openssh-client \
ca-certificates

# 在node-alpine中安装python
apk add --no-cache python3 make g++ \
&& ln -sf python3 /usr/bin/python

# 在node-alpine设置时区
RUN apk add --no-cache tzdata && \
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone && \
apk del tzdata

# 添加语言支持
RUN apk add --no-cache icu-libs
ENV NODE_ICU_DATA=/node_modules/full-icu

# 安装完整的国际化支持
RUN npm install -g full-icu

docker清理脚本

#!/bin/bash
# 清理所有悬空镜像
echo "Removing dangling images..."
docker image prune -f

# 清理悬空卷
echo "Removing dangling volumes..."
docker volume prune -f

# 清理未使用的网络
echo "Removing unused networks..."
docker network prune -f

# 显示清理后的状态
echo "Current Docker disk usage:"
docker system df

docker 镜像的导出导入

# docker save -o <保存路径> <镜像名>:<标签>

docker save -o my-image.tar my-image:latest

# docker load -i <导入文件路径>

docker load -i my-image.tar