<?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部署与网络配置">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2021-04-01 14:36<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
docker部署与网络配置

1.安装docker

#安装 Docker



XML/HTML代码


    curl -fsSL https://get.docker.com | sh




#安装 docker-compose



XML/HTML代码


    curl -L &quot;https://ghproxy.com/https://github.com/docker/compose/releases/download/v2.27.2/docker-compose-$(uname -s)-$(uname -m)&quot; -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




#docker从仓库pull下nginx镜像并命名为webserver，此镜像以后台模式，81端口映射宿主机80端口运行

#如果下载速度较慢，可能国内镜像加速未成功。

$ 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




安装后http://IP:9000 登陆



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=&quot;portainer&quot; -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=&quot;portainer&quot; -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data 6053537/portainer-ce:linux-arm64           (arm64最新中文)








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 portainer/portainer-ce:alpine






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




浏览器访问 http://IP:8080  登陆

账户名：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




浏览器访问http://IP:3000

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




docker network ls命令查看网卡名称，名称为macnet的网卡已经添加成功

6.设置docker容器（甜糖）

部署alpine命令



XML/HTML代码


    docker run --privileged -ti --net macnet --ip 192.168.1.10 -d --name alpine /usr/sbin/init




部署甜糖命令(因为甜糖是根据mac/hostmane生成绑定ID的，docker的mac每次重启会改变，导致ID变化，故设置固定mac)



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




加载 /dev/sdb1到/mnt/tt ，然后部署多个甜糖镜像

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




运行 ./token 命令登录，按照提示输入手机号和短信验证码

进入容器查看运行状态



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




官方参考 快速部署脚本（官方） 自动收取 物理机直接部署（x86和ARM机器）

7.设置docker容器（网心云）

参考：https://hub.docker.com/r/onething1/wxedge

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




3.一键获取macvlan父接口



XML/HTML代码


    ip route|grep default




4.限速脚本(非必须，可以路由设置限速)

项目地址: https://github.com/magnific0/wondershaper

# 清除限速



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




5.设备绑定

打开浏览器（推荐谷歌浏览器），输入局域网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地址等信息  

以上为官方参考脚本。


</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>
