Docker安装和使用Archery
安装Python3.7
1.安装依赖 yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel zlib* libffi-devel -y 2.下载python文件 wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz 3.解压文件&进入目录 tar -xvf Python-3.7.0.tar.xz cd Python-3.7.0 4.编译 mkdir -p /usr/local/python3.7 ./configure --enable-optimizations --prefix=/usr/local/python3.7 make make altinstall 或者make install 5.修改软连接 ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python3 ln -s /usr/local/python3.7/bin/pip3.7 /usr/bin/pip3
旧版本的 Docker 称为 docker
或者 docker-engine
,使用以下命令卸载旧版本:
$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine
配置阿里yum的docker源
$ sudo yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
$ sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo # Docker官方源 # $ sudo yum-config-manager \ # --add-repo \ # https://download.docker.com/linux/centos/docker-ce.repo
安装docker
$ sudo yum install docker-ce docker-ce-cli containerd.io
配置docker镜像加速器
#阿里的ECS,如下配置; 不配置有些镜像pull时提示 "Error response from daemon: ...connection reset by peer"
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://3u4izbfu.mirror.aliyuncs.com"]
#"https://3u4i....mirror.aliyuncs.com"此地址为本人的镜像加速器地址,查看地址 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors } EOF sudo systemctl daemon-reload sudo systemctl restart docker
#自己本地的服务器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://3u4izbfu.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
安装docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
安装部署Archery
#下载archery https://github.com/hhyo/archery/releases/ #解压后进入docker-compose文件夹 docker-compose -f docker-compose.yml up -d #表结构初始化 docker exec -ti archery /bin/bash cd /opt/archery source /opt/venv4archery/bin/activate python3 manage.py makemigrations sql python3 manage.py migrate #数据初始化 python3 manage.py dbshell<sql/fixtures/auth_group.sql python3 manage.py dbshell<src/init_sql/mysql_slow_query_review.sql #创建管理用户 python3 manage.py createsuperuser #重启服务 docker restart archery
#登录archery
http://10.34.4.199:9123/ #日志查看和问题排查 docker logs archery -f --tail=10 logs/archery.log
一些额外的操作命令
#单独启动MySQL容器服务 docker run -p 3306:3306 --name mysql --restart=always \
-v /opt/archery/src/docker-compose/mysql/my.cnf:/etc/mysql/my.cnf \
-v /opt/archery/src/docker-compose/mysql/datadir:/var/lib/mysql \
-e MYSQL_DATABASE=archery -e MYSQL_ROOT_PASSWORD=w..JuieWTPZFxRPo -d mysql:5.7 #关闭/启动docker编排 docker-compose -f /opt/archery/src/docker-compose/docker-compose.yml down docker-compose -f /opt/archery/src/docker-compose/docker-compose.yml up -d
#如拆分出单独(docker)MySQL服务,需修改以下文件
#vi /opt/archery/src/docker-compose/archery/settings.py
'HOST': '10.34.4.199' #将mysql服务名修改为对应的IP
#vi /opt/archery/src/docker-compose/docker-compose.yml
entrypoint: "dockerize -wait tcp://10.34.4.199:3306 -wait tcp://redis:6379 -timeout 60s /opt/archery/src/docker/startup.sh" #将mysql服务名修改为对应的IP
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App