记录我的一些生活写照、无聊的牢骚、内心世界的活动 注册 | 登陆

Docker一键搭建Linux学习环境

Docker一键搭建Linux学习环境

Docker环境搭建(以Alpine为例)
宿主机是Alpine(最精简的Linux系统)
下载安装Alpine系统(参考前面教程)
一键安装docker
注意docker的包是位于社区仓库里的,默认源里可能没有,需要给源里面添加community源。
修改  /etc/apk/repositories 文件。
XML/HTML代码
  1. https://mirrors.ustc.edu.cn/alpine/latest-stable/main
  2. 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代码
  1. 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
其他系统或者环境搭建一样原理,可以使用一下一键安装脚本(需要提前安装bash sudo curl等基础组件)
XML/HTML代码
  1. #安装docker+Portainer
  2. bash <(curl -sL https://iii80.com/sh/docker.sh)
  3. #安装docker+Portainer(国内镜像加速)
  4. bash <(curl -sL https://iii80.com/sh/docker-cn.sh)
创建macvlan网络
XML/HTML代码
  1. #创建macvlan网络(支持Ipv6)
  2. 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
  3. #创建macvlan网络(不支持Ipv6)
  4. 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代码
  1. #macvlan独立IP
  2. docker run -itd --name debian --hostname debian --net=macnet --ip 192.168.0.111 --privileged=true --restart=always debian
  3. #映射主机端口
  4. docker run -itd --name debian --hostname debian -p 1122:22 --privileged=true --restart=always debian
  5. docker exec -it debian /bin/bash
切换debian版本(不带版本号就是默认的latest也就是最新的debian12)
debian:latest
debian:bookworm
debian:bullseye
debian:buster
一键运行Ubuntu(官方镜像精简了init,故无法使用systemctl)
XML/HTML代码
  1. #macvlan独立IP
  2. docker run -itd --name ubuntu --hostname ubuntu --net=macnet --ip 192.168.0.111 --privileged=true --restart=always ubuntu
  3. #映射主机端口
  4. docker run -itd --name ubuntu --hostname ubuntu -p 1122:22 --privileged=true --restart=always ubuntu
  5. docker exec -it ubuntu /bin/bash
切换ubuntu版本(不带版本号就是默认的latest也就是最新的ubuntu 22.04)
ubuntu:latest
ubuntu:22.04
ubuntu:20.04
一键运行centos
XML/HTML代码
  1. #macvlan独立IP
  2. docker run -itd --name centos --hostname centos --net=macnet --ip 192.168.0.111 --privileged=true --restart=always centos /sbin/init
  3. #映射主机端口
  4. docker run -itd --name centos --hostname centos -p 1122:22 --privileged=true --restart=always centos /sbin/init
  5. docker exec -it centos /bin/bash
切换centos版本(不带版本号就是默认的latest也就是最新的centos8)
centos:latest
centos:8
centos:7
centos:6
centos:5
一键运行Alpine
XML/HTML代码
  1. #macvlan独立IP
  2. docker run -itd --name alpine --hostname alpine --net=macnet --ip 192.168.0.111 --privileged=true --restart=always alpine /sbin/init
  3. #映射主机端口
  4. docker run -itd --name alpine --hostname alpine -p 1122:22 --privileged=true --restart=always alpine /sbin/init
  5. 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代码
  1. docker run -d --restart=always --name="speedtest-x" -p 88:80 -it badapple9/speedtest-x
  2. docker run -d --restart=always --name="speedtest" -p 99:80 -it adolfintel/speedtest
  3. docker run -d --restart=always --name="homebox" -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)
其他后续添加,使用方法见官方介绍。

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):