docker部署与网络配置
1.安装docker
#安装 Docker
XML/HTML代码
- curl -fsSL https://get.docker.com | sh
XML/HTML代码
- curl -L "https://ghproxy.com/https://github.com/docker/compose/releases/download/v2.27.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- chmod +x /usr/local/bin/docker-compose
2.设置docker
XML/HTML代码
- sudo systemctl enable docker #开机启动docker
- sudo systemctl start docker #启动docker
- sudo groupadd docker #建立docker组
- sudo usermod -aG docker $USER #将当前用户加入 docker 组
- sudo vim /etc/systemd/system/multi-user.target.wants/docker.service #添加下面仓库地址到此文件
- ExecStart=/usr/bin/dockerd --registry-mirror=https://ckq4qobq.mirror.aliyuncs.com #使用阿里云加速
- sudo systemctl daemon-reload #重新加载daemon
- sudo systemctl restart docker #重启docker
3.验证docker
XML/HTML代码
- docker run --name webserver -d -p 81:80 nginx
#如果下载速度较慢,可能国内镜像加速未成功。
$ firefox #打开firefox浏览器
#输入 http://IP:81 看到nginx欢迎界面表示搭建成功
4.部署docker管理程序
docker管理面板Portainer安装与使用
XML/HTML代码
- docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /portainer_data:/data --name prtainer portainer/portainer
XML/HTML代码
- docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce (官方全平台最新版)
- docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data chenyingzi/portainer-ce-cn (amd64中文版)
- 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 (amd64最新中文)
- 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:linux-arm64 (arm64最新中文)
SipleDocker 一个简单的Docker控制面板
XML/HTML代码
- docker run -d -p 8080:4050 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name SimpleDocker registry.cn-hangzhou.aliyuncs.com/seven-tao/simple-docker:0.0.4
账户名:admin 密码: SimpleDocker2020
EasyDockerWeb 简单的Docker控制面板
XML/HTML代码
- docker run -it -d -p 3000:3000 --restart=always -e EDW_USERNAME='admin' -e EDW_PASSWORD='admin' -v /var/run/docker.sock:/var/run/docker.sock qfdk/easydockerweb
5.设置docker独立IP地址
通过ifconfig命令确定物理网卡的名称为ens32,以及网段netmask 255.255.255.0,应该为192.168.1.0/24
route -n命令获取到网关为192.168.1.1
使用下面命令创建网卡,名称为macnet
XML/HTML代码
- docker network create -d macvlan --subnet 192.168.1.0/24 --gateway 192.168.1.1 -o parent=ens32 -o macvlan_mode=bridge macnet
6.设置docker容器(甜糖)
部署alpine命令
XML/HTML代码
- docker run --privileged -ti --net macnet --ip 192.168.1.10 -d --name alpine /usr/sbin/init
XML/HTML代码
- docker run -v /mnt/ttnode:/mnts -d --name ttnode --hostname ttnode --net=macnet --ip 192.168.1.10 --dns=114.114.114.114 --mac-address 4C:CC:6A:17:7A:80 -i -t --privileged=true --restart=always tiptime/ttnode
fdisk -l #查看磁盘
fdisk /dev/sdb #分区
mkfs.ext4 /dev/sdb #格式化硬盘
mount /dev/sdb1 /mnt/tt #加载硬盘到mnt的tt目录
修改系统配置文件实现开机自动挂载硬盘。
blkid /dev/sdb1 #找/dev/sdb1分区UUID
vi /etc/fstab #编辑fstab为了实现开机自动挂载
UUID=xxxx /mnt/ttnode ext4 defaults,nofail 0 0
#把xxxx替换成刚才/dev/sdb1分区的UUID,在fstab第三行末尾回车,添加一行,将前面修改好的命令粘贴到fstab第四行,保存。
或者添加 /dev/sdxxx /mnt/xxx/ ext4 defaults 0 1 也可以实现开机自动挂载。
改挂载这步同样可以通过winscp或者finalshell操作。
部署多个甜糖
XML/HTML代码
- docker run -v /mnt/tt/ttnode:/mnts -d --name ttnode --hostname ttnode --net=macnet --ip 192.168.1.10 --dns=114.114.114.114 --mac-address 4C:CC:6A:17:7A:80 -i -t --privileged=true --restart=always tiptime/ttnode
- docker run -v /mnt/tt/ttnode1:/mnts -d --name ttnode1 --hostname ttnode1 --net=macnet --ip 192.168.1.11 --dns=114.114.114.114 --mac-address 4C:CC:6A:17:7A:81 -i -t --privileged=true --restart=always tiptime/ttnode
- docker run -v /mnt/tt/ttnode2:/mnts -d --name ttnode2 --hostname ttnode2 --net=macnet --ip 192.168.1.12 --dns=114.114.114.114 --mac-address 4C:CC:6A:17:7A:82 -i -t --privileged=true --restart=always tiptime/ttnode
查看甜糖绑定码
XML/HTML代码
- docker logs ttnode
- docker logs ttnode1
- docker logs ttnode2
部署甜糖自动收取星愿定时提现容器
XML/HTML代码
- docker run -it --name=ttnodeclient -e TTNODE=0 -v /mnt/tt/ttxy:/mnt/data/ttnode --net=host --restart=always --privileged waterlemons2k/ttnode
进入容器查看运行状态
XML/HTML代码
- docker exec -it ttnode /bin/bash
- apt-get update
- apt-get install nload htop
如需单开甜糖,只需要用桥接,使用宿主机的IP即可。
XML/HTML代码
- docker run -v /mnt/ttnode:/mnts -d --name ttnode --hostname ttnode --net=host -i -t --privileged=true --restart=always tiptime/ttnode
- docker run -itd -v /mnt/ttnode:/mnts --name ttnode --hostname ttnode --net=host --privileged=true --restart=always tiptime/ttnode
7.设置docker容器(网心云)
1.host网络模式单实例
XML/HTML代码
- docker run -d --name=wxedge --restart=always --privileged --net=host --tmpfs /run --tmpfs /tmp -v /mnt/data/wxedge_storage:/storage:rw onething1/wxedge
2.macvlan多实例
XML/HTML代码
- docker run -itd --name=wxedge --net=macnet --ip=192.168.1.10 --privileged=true --tmpfs /run --tmpfs /tmp -v /mnt/data/wxedge_storage:/storage:rw --restart=always onething1/wxedge
XML/HTML代码
- ip route|grep default
# 清除限速
XML/HTML代码
- /root/wondershaper/wondershaper -c -a eth0
XML/HTML代码
- /root/wondershaper/wondershaper -a eth0 -u 30000
XML/HTML代码
- /root/wondershaper/wondershaper -s -a eth0
打开浏览器(推荐谷歌浏览器),输入局域网ip:18888(ip可以通过路由器管理终端页面查看到),比如192.168.1.10:18888
进阶:通过脚本部署 maclvan 模式(支持多实例)
XML/HTML代码
- wget https://gitee.com/shenzhen-sweet-sugar/ttnode-auto-deploy/raw/master/setup_docker.sh
- chmod +x setup_docker.sh
# 第一次运行
# --eth 网卡
# --cache_dir 缓存目录
# --ttnode_count ttnode docker实例数
./setup_docker.sh --eth=eth0 --cache_dir=/mnt/ttnode --memory=1g --cpus=1.5 --ttnode_count=2
# 之后运行用下面这行即可,保证 mac 地址不变
./setup_docker.sh # 直接读取配置文件
配置文件在 /etc/ttnode/config.txt # 包含 容器名 hostname mac地址等信息
以上为官方参考脚本。