Alpine Docker Container for China User with aliyun repositories and openrc
5.9K
默认时区: PRC Asia/Shanghai
默认集成工具: envsubst 环境变量替换的工具
默认APK镜像: mirrors.aliyun.com 环境变量: APK_MIRROR="mirrors.aliyun.com"
所有glibc相关的镜像移动到 https://hub.docker.com/r/tekintian/alpine-glibc
-gosu 分支为安装了 gosu工具的镜像,路径 /usr/bin/gosu
APK国内源
# Alpine的源文件为:
# /etc/apk/repositories,
# 本镜像默认的源地址为:http://dl-cdn.alpinelinux.org/
# 更换为中国科技大学的源CDN:
sed -i -e 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/' /etc/apk/repositories
# 更换为阿里云
sed -i -e 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories
apk update
apk search
apk add
apk info
apk upgrade
apk del
1.安装软件包实例
# 安装SSHD服务
apk add --no-cache openssh-server
# 增加服务到系统启动时运行,下例为sshd
rc-update add sshd boot
# 安装 nodejs
apk add --no-cache nodejs
#安装Nginx软件并更新到最新,
apk add --update nginx
#手工启动Nginx
/etc/init.d/nginx
#将Nginx添加到启动服务中,下次开机自动运行
rc-update add nginx
# 重启服务
rc-service nginx restart
# 列出所有服务
rc-status -a
运行一个alpine镜像,并安装 openssh
docker run -it --rm alpine /bin/ash
# 更新源
# apk update
# 安装openssh
# apk add openssh
#! /bin/bash
set -e
chown -R xxxuser:xxxgroup /data/logs
exec gosu xxxuser tini -- myprogram -config /etc/config.prod.yaml
一般是在entrypoint.sh使用。
例如,Postgres Official Image使用以下脚本作为其ENTRYPOINT:
#!/bin/bash
set -e
if [ "$1" = 'postgres' ]; then
chown -R postgres "$PGDATA"
if [ -z "$(ls -A "$PGDATA")" ]; then
gosu postgres initdb
fi
exec gosu postgres "$@"
fi
exec "$@"
集成了SSH服务端的alpine 3.8 docker images:
tekintian/alpine:ssh
暴露端口 22 , -p /yourlocaldir:/home 将本地文件夹/yourlocaldir 映射到alpine容器 /home文件夹
docker run -it -d --name alpine -p 22:22 -v /yourlocaldir:/home tekintian/alpine:3.9-ssh
设置SSH登录密码
docker exec -it alpine sh
#设置ROOT用户密码
passwd
需要其他的特定环境或则模块支持,可联系定制开发容器 , Email: [email protected] QQ:932256355
Content type
Image
Digest
sha256:3126367e8…
Size
3.7 MB
Last updated
5 months ago
docker pull tekintian/alpine:3.23