<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="在Alpine Linux里安装Docker">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2022-11-19 09:57<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
在Alpine Linux里安装Docker




注意docker的包是位于社区仓库里的，默认源里可能没有,需要给源里面添加community源。




修改  /etc/apk/repositories 文件。




XML/HTML代码


    https://mirrors.ustc.edu.cn/alpine/latest-stable/main

    https://mirrors.ustc.edu.cn/alpine/latest-stable/community





或者使用命令




XML/HTML代码


    sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories






然后运行 apk update ，更新软件源。


安装docker以及相关组件。


apk add docker  docker-compose  docker-cli-compose


然后先把 docker 添加到开机自启：


rc-update add docker boot


然后启动 docker 服务：


service docker start


最后可以运行 docker version，查看程序是否安装成功。


至于 docker 的使用方法，就和其他 linux 发行版一模一样。


用alpine这个极度精简轻量的linux系统，可以在低配置的机器或者vps上轻松体验docker。







常用工具安装：


apk add htop nload curl wget ncdu git bash net-tools sudo


安装open-vm-tools




XML/HTML代码


    apk add open-vm-tools open-vm-tools-guestinfo open-vm-tools-deploypkg

    rc-update add open-vm-tools boot

    rc-service open-vm-tools start







apline设置中国时区：




XML/HTML代码


    apk add tzdata \

    &amp;&amp; ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \

    &amp;&amp; echo &quot;Asia/Shanghai&quot; &gt; /etc/timezone




 docker管理面板portainer-ce：


docker run -d --restart=always --name=&quot;portainer&quot; -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data 6053537/portainer-ce







Alpine开机启动程序


1、添加服务方法（例如实现开机启动docker服务）




XML/HTML代码


    添加docker服务到启动项

    rc-update add docker boot

    手动启动docker服务

    service docker start




2、脚本实现开机启动自定义命令




XML/HTML代码


    安装 rc-service 服务

    apk add openrc --no-cache

    列出所有可用服务

    rc-service --list

    启动/停止/重启 已有服务

    rc-service 服务名 start/stop/restart

    OR

    /etc/init.d/服务名 start/stop/restart

    设置开机自启动

    rc-update add {service-name}




Alpine Linux 的 开机自启目录在/etc/local.d下，这个目录用于放置我们需要在本地服务启动或停止后执行的脚本。


此目录下启动脚本必须是 .start 文件，例如要实现开机马上启动root目录下得ss程序，则需要在此目录下建立一个


ss.start 文件，然后输入启动命令  /root/ss 保存，设置可执行属性，然后设置开机启动此脚本。




XML/HTML代码


    cd  /etc/local.d

    vi ss.start

    chmod +x ss.start

    rc-update add local







几个简单网络测速docker：




docker run -d --restart=always --name=&quot;speedtest-x&quot; -p 88:80 -it badapple9/speedtest-x


docker run -d --restart=always --name=&quot;speedtest&quot; -p 99:80 -it adolfintel/speedtest


docker run -d --restart=always --name=&quot;homebox&quot; -p 89:3300  -it xgheaven/homebox




快速地使用Docker搭建FlyWall服务(Vless+Trojan+Naiveproxy+Hysteria+WireGuard+SS2022):



git clone https://github.com/akvsdk/FlyWall.git &amp;&amp; cd FlyWall

./OneKeySet.sh

Alpine Linux安装记录：https://code84.com/756690.html

使用国内镜像加速docker下载：

XML/HTML代码


    # docker daemon.json

    vim /etc/docker/daemon.json

    {

            &quot;registry-mirrors&quot;: [&quot;https://pjz779km.mirror.aliyuncs.com&quot;],

            &quot;data-root&quot;: &quot;/opt/docker&quot;,

            &quot;storage-driver&quot;: &quot;overlay2&quot;

    } 






以上设置#设置加入镜像地址#设置docker数据目录 参考网站

Alpine安装图形界面



XML/HTML代码


    #参考网站

    https://wiki.alpinelinux.org/wiki/Desktop_environments_and_Window_managers

    https://wiki.alpinelinux.org/wiki/Xfce#Prerequisites

    #安装软件包

    setup-xorg-base

    apk add xfce4 xfce4-terminal xfce4-screensaver lightdm-gtk-greeter dbus udev

    #默认需要一个普通用户在桌面这个组

    adduser laowang -G lightdm 

     

    rc-service dbus start

    rc-update add dbus

    rc-service udev start

    rc-update add udev

    rc-service lightdm start

    rc-update add lightdm

    #允许普通用户关机和重启

    apk add elogind polkit-elogind

    #安装firefox

    apk add firefox

    #alpine支持中文显示

    mkdir glibc

    cd glibc

    wget https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub

    wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-2.35-r0.apk

    wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-bin-2.35-r0.apk

    wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-dev-2.35-r0.apk

    wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-i18n-2.35-r0.apk

    cp ./sgerrand.rsa.pub /etc/apk/keys/sgerrand.rsa.pub

    apk add *.apk

    #修改环境变量配置文件/etc/profile

    在apeend_path函数后面添加一行

    append_path &quot;/usr/glibc-compat/bin&quot;

    #生成中文

    /usr/glibc-compat/bin/localedef -i zh_CN -f UTF-8 zh_CN.UTF-8

    #修改环境变量配置文件

    alpine:~/glibc# cat /etc/profile.d/locale.sh

    export LANG=zh_CN.utf8

    source /etc/profile

    #安装中文字体

    apk add --update tzdata busybox-extras fontconfig ttf-dejavu

    #设置时区

    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    echo 'Asia/Shanghai' &gt; /etc/timezone

    #设置图形环境变量配置文件

    alpine:~# cat ~/.xprofile

    export LANG=zh_CN.UTF-8

    #拷贝windiws字体到字体目录

    cp msyhbd.ttc /usr/share/fonts/

    #刷新字体

    fc-cache -vf

    #重启

    reboot




磁盘扩容

XML/HTML代码


    # 查看对应分区

    df -Th

    # 查看磁盘情况

    fdisk -lu

    # 启用所有源,并安装(alpine)

    apk update

    apk add cloud-utils

    apk add e2fsprogs-extra

    apk add cloud-utils-growpart

    # 在添加好自盘后,选择扩容磁盘分区的

    growpart /dev/sda 3

    # 扩容 ext* 系统

    resize2fs /dev/sda3

    # 扩容XFS系统

    xfs_growfs /dev/sda3






 仅供参考

Alpine image无法编译C语言模块问题

apk add gcc g++ make libffi-dev openssl-dev

安装相应模块，即可解决

编译出现aclocal和autoconf相关错误安装以下组件即可

apk add autoconf automake libtool

Alpine Linux升级到最新版本

设置最新版本的apk源（/etc/apk/repositories）



XML/HTML代码


    https://mirrors.ustc.edu.cn/alpine/v3.18/main

    https://mirrors.ustc.edu.cn/alpine/v3.18/community




或者直接修改为 latest-stable 最新稳定版本



XML/HTML代码


    https://mirrors.ustc.edu.cn/alpine/latest-stable/main

    https://mirrors.ustc.edu.cn/alpine/latest-stable/community






一键升级到最新版本



XML/HTML代码


    apk -U upgrade --available &amp;&amp; apk add --upgrade linux-lts &amp;&amp; sync &amp;&amp; reboot




然后通过命令查看是不是升级成功



XML/HTML代码


    uname -a

    cat /etc/issue

    cat /etc/os-release




通过以上命令可以直接把系统升级到最新稳定版本。

参考1 参考2 参考3

附：

常见快捷命令设置

网络设置：



XML/HTML代码


    setup-hostname

    setup-interfaces

    setup-dns

    setup-proxy

    setup-ntp






网络服务：



XML/HTML代码


    rc-service networking restart

    rc-service networking --quiet start &amp;

    rc-update add networking boot




其他设置命令：



XML/HTML代码


    setup-acf           setup-devd          setup-lbu           setup-user

    setup-alpine        setup-disk          setup-mta           setup-wayland-base

    setup-apkcache      setup-dns           setup-ntp           setup-xen-dom0

    setup-apkrepos      setup-hostname      setup-proxy         setup-xorg-base

    setup-bootable      setup-interfaces    setup-sshd  

    setup-desktop       setup-keymap        setup-timezone




具体用法看名字基本都可以知道，可以自己测试。


</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
