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

docker部署与网络配置

docker部署与网络配置
1.安装docker
#安装 Docker
XML/HTML代码
  1. curl -fsSL https://get.docker.com | sh
#安装 docker-compose
XML/HTML代码
  1. 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
  2. chmod +x /usr/local/bin/docker-compose
2.设置docker
XML/HTML代码
  1. sudo systemctl enable docker #开机启动docker
  2. sudo systemctl start docker #启动docker
  3. sudo groupadd docker #建立docker组
  4. sudo usermod -aG docker $USER #将当前用户加入 docker 组
  5. sudo vim /etc/systemd/system/multi-user.target.wants/docker.service #添加下面仓库地址到此文件
  6. ExecStart=/usr/bin/dockerd --registry-mirror=https://ckq4qobq.mirror.aliyuncs.com  #使用阿里云加速
  7. sudo systemctl daemon-reload #重新加载daemon
  8. sudo systemctl restart docker  #重启docker
3.验证docker
XML/HTML代码
  1. 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代码
  1. 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代码
  1. 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        (官方全平台最新版)
  2. 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中文版)
  3. 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最新中文)
  4. 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代码
  1. 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代码
  1. 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代码
  1. 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代码
  1. 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代码
  1. 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代码
  1. 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
  2. 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
  3. 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代码
  1. docker logs ttnode
  2. docker logs ttnode1
  3. docker logs ttnode2
部署甜糖自动收取星愿定时提现容器
XML/HTML代码
  1. 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代码
  1. docker exec -it  ttnode /bin/bash
  2. apt-get update
  3. apt-get install  nload htop
如需单开甜糖,只需要用桥接,使用宿主机的IP即可。
XML/HTML代码
  1. docker run -v /mnt/ttnode:/mnts -d --name ttnode --hostname ttnode --net=host  -i -t --privileged=true --restart=always tiptime/ttnode
  2. docker run -itd  -v /mnt/ttnode:/mnts  --name ttnode --hostname ttnode  --net=host --privileged=true  --restart=always   tiptime/ttnode
官方参考 快速部署脚本(官方) 自动收取 物理机直接部署(x86和ARM机器)
7.设置docker容器(网心云)
1.host网络模式单实例
XML/HTML代码
  1. 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代码
  1. 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代码
  1. ip route|grep default
4.限速脚本(非必须,可以路由设置限速)
# 清除限速
XML/HTML代码
  1. /root/wondershaper/wondershaper -c -a eth0
# 限制上行速度
XML/HTML代码
  1. /root/wondershaper/wondershaper -a eth0 -u 30000
# 显示限速情况
XML/HTML代码
  1. /root/wondershaper/wondershaper -s -a eth0
5.设备绑定
打开浏览器(推荐谷歌浏览器),输入局域网ip:18888(ip可以通过路由器管理终端页面查看到),比如192.168.1.10:18888
进阶:通过脚本部署 maclvan 模式(支持多实例)
XML/HTML代码
  1. wget https://gitee.com/shenzhen-sweet-sugar/ttnode-auto-deploy/raw/master/setup_docker.sh
  2. 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地址等信息  
以上为官方参考脚本。

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):