Docker一键搭建Linux学习环境
Docker环境搭建(以Alpine为例)
宿主机是Alpine(最精简的Linux系统)
下载安装Alpine系统(参考前面教程)
一键安装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="portainer" -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data 6053537/portainer-ce
XML/HTML代码
- #安装docker+Portainer
- bash <(curl -sL https://iii80.com/sh/docker.sh)
- #安装docker+Portainer(国内镜像加速)
- bash <(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
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 <(curl -sSL https://linuxmirrors.cn/main.sh)
几个简单网络测速docker:
XML/HTML代码
- docker run -d --restart=always --name="speedtest-x" -p 88:80 -it badapple9/speedtest-x
- docker run -d --restart=always --name="speedtest" -p 99:80 -it adolfintel/speedtest
- docker run -d --restart=always --name="homebox" -p 89:3300 -it xgheaven/homebox
注意:以上镜像均为官方最新的最精简镜像,很多组件都是没有的,需要自己命令安装,如果想用全集成的可以自己修改对应的镜像地址即可。通过上面最精简系统可以学习基本系统命令,编译程序,研究软件等。
好用的镜像推荐:
Debian-ssh
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)
其他后续添加,使用方法见官方介绍。