<?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="Docker一键搭建Linux学习环境">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2023-08-13 14:44<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
Docker一键搭建Linux学习环境


Docker环境搭建（以Alpine为例）




宿主机是Alpine（最精简的Linux系统）


下载安装Alpine系统（参考前面教程）


https://www.alpinelinux.org/downloads/


一键安装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







然后运行 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


安装docker管理面板portainer-ce：




XML/HTML代码


    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




其他系统或者环境搭建一样原理，可以使用一下一键安装脚本(需要提前安装bash sudo curl等基础组件)




XML/HTML代码


    #安装docker+Portainer

    bash &lt;(curl -sL https://iii80.com/sh/docker.sh)

    #安装docker+Portainer(国内镜像加速)

    bash &lt;(curl -sL https://iii80.com/sh/docker-cn.sh)







创建macvlan网络






XML/HTML代码


    #创建macvlan网络（支持Ipv6）

    docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.1 --ipv6 --subnet=2408:8220:723:45a1::/64 --gateway=2408:8220:723:45a1::1 -o parent=eth0 macnet

    #创建macvlan网络（不支持Ipv6）

    docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.1 -o parent=eth0 macnet




 一键运行debian（官方镜像精简了init，故无法使用systemctl）




XML/HTML代码


    #macvlan独立IP

    docker run -itd --name debian --hostname debian --net=macnet --ip 192.168.0.111 --privileged=true --restart=always debian

    #映射主机端口

    docker run -itd --name debian --hostname debian -p 1122:22 --privileged=true --restart=always debian

    docker exec -it debian /bin/bash





切换debian版本（不带版本号就是默认的latest也就是最新的debian12）


debian:latest


debian:bookworm


debian:bullseye


debian:buster




一键运行Ubuntu（官方镜像精简了init，故无法使用systemctl）




XML/HTML代码


    #macvlan独立IP

    docker run -itd --name ubuntu --hostname ubuntu --net=macnet --ip 192.168.0.111 --privileged=true --restart=always ubuntu

    #映射主机端口

    docker run -itd --name ubuntu --hostname ubuntu -p 1122:22 --privileged=true --restart=always ubuntu

    docker exec -it ubuntu /bin/bash





切换ubuntu版本（不带版本号就是默认的latest也就是最新的ubuntu 22.04）


ubuntu:latest


ubuntu:22.04


ubuntu:20.04




一键运行centos




XML/HTML代码


    #macvlan独立IP

    docker run -itd --name centos --hostname centos --net=macnet --ip 192.168.0.111 --privileged=true --restart=always centos /sbin/init

    #映射主机端口

    docker run -itd --name centos --hostname centos -p 1122:22 --privileged=true --restart=always centos /sbin/init

    docker exec -it centos /bin/bash





切换centos版本（不带版本号就是默认的latest也就是最新的centos8）


centos:latest


centos:8


centos:7


centos:6


centos:5




一键运行Alpine




XML/HTML代码


    #macvlan独立IP

    docker run -itd --name alpine --hostname alpine --net=macnet --ip 192.168.0.111 --privileged=true --restart=always alpine /sbin/init

    #映射主机端口

    docker run -itd --name alpine --hostname alpine -p 1122:22 --privileged=true --restart=always alpine /sbin/init

    docker exec -it alpine /bin/ash





切换alpine版本（不带版本号就是默认的latest也就是最新的alpine 3.18）


alpine:latest


alpine:3.18


alpine:3.17


alpine:3.16


alpine:3.15






一键换源


bash &lt;(curl -sSL https://linuxmirrors.cn/main.sh)




几个简单网络测速docker：




XML/HTML代码


    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







注意：以上镜像均为官方最新的最精简镜像，很多组件都是没有的，需要自己命令安装，如果想用全集成的可以自己修改对应的镜像地址即可。通过上面最精简系统可以学习基本系统命令，编译程序，研究软件等。


好用的镜像推荐：


Debian-ssh


https://hub.docker.com/r/takeyamajp/debian-sshd


https://hub.docker.com/r/tlze/debian-sshd   (默认root密码debian)


https://hub.docker.com/r/bitnami/minideb  （最小的Debian镜像）


Alpine-ssh


https://hub.docker.com/r/bimg/alpine-ssh   (默认root密码123456)


其他后续添加，使用方法见官方介绍。
</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>
