我有一个完整的部署作业,它获取正在运行的实例的 ip 并在其上部署我的系统。
我目前持有一个 EC2 实例,用于每晚运行的自动化测试,但该实例很昂贵,我正在寻找一种在测试前启动它并在测试后终止它的方法。
我寻找可以提供帮助的 EC2 插件,最接近的是这个,但这是用于制作奴隶的,这不是我想要的。
我希望能够启动一个 EC2 实例,并将其 IP 地址传递给自动化测试作业,然后在完成后终止该实例。
我开始为此制作一个命令行 bash 文件,但这似乎工作量太大,我想也许我遗漏了一些东西。
I have a few docker containers that I try to sync with docker-compose (currently are being run by bash scripts). I'm looking for a way to tag and push them to our ec2 based dockerhub (private server).
Using simply docker we did something like this (for each container):
$ docker build -f someDockerfile -t some
$ docker tag some <docker_hub_server>/some
$ docker push <docker_hub_server>/some
Run Code Online (Sandbox Code Playgroud)
I'm trying to replicate this in docker-compose. I tried a few things but this one …
我正在尝试使用The Ultimate Git Alias Setup创建具有自动完成功能的 git 别名。我按照说明执行了所有操作,但是将以下内容放入我的 .zshrc 文件会导致错误:
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
function_exists() {
declare -f -F $1 > /dev/null
return $?
}
for al in `__git_aliases`; do
alias g$al="git $al"
complete_func=_git_$(__git_aliased_command $al)
function_exists $complete_fnc && __git_complete g$al $complete_func
done
Run Code Online (Sandbox Code Playgroud)
错误不直观:.zshrc:153: parse error near\n'`
但是尝试__git_aliases在命令行中运行会给出:zsh: command not found: __git_aliases所以我认为这就是问题所在。
然后我在网上发现这可能已被 git 弃用,并且该行应该给出相同的输出:
git config --global alias.aliases "config --get-regex 'alias*'" …
仅超级用户(仅限 AWS 保留)会阻止尝试从 AWS RDS (postgres) 删除数据库。
尝试在我的实例上运行此命令:
DROP DATABASE "dbname"
Run Code Online (Sandbox Code Playgroud)
结果出现错误:
psycopg2.InternalError: DROP DATABASE cannot run inside a transaction block
Run Code Online (Sandbox Code Playgroud)
我在AWS论坛上看到了这个问题,似乎很多人都在活跃,但没有AWS代表给出有效的解决方案。
如何删除我的数据库而不删除整个实例并再次提升它?
我有一个控制一些服务的 docker-compose 文件。其中之一是数据库服务。我并不总是想重新启动数据库服务。
示例 docker-compose.yml:
version: '3'
services:
base:
commad: "echo somecommand"
postgres:
container_name: postgres
image: "postgres:latest"
environment:
- POSTGRES_PASSWORD=usr
- POSTGRES_USER=use
- POSTGRES_DB=usr
ports:
- 5432:5432
Run Code Online (Sandbox Code Playgroud)
我该怎么做docker-compose up,但是如果 db 服务(在我的情况下为 postgres)已经启动,请确保它不会重新启动。
我目前正在使用 docker-compose down/up,我的数据库重新启动。
我试图添加--scale postgres=0到我的 docker-compose up 命令中,但随后它同时关闭了 postgres。
我需要动态删除服务器中的所有docker映像,但postgres映像和容器除外。
现在,我需要一种动态方式来获取该docker映像的ID,这样我就可以避免使用:
docker rmi $(docker images -q | grep -v $<id_of_postgres_container>)
Run Code Online (Sandbox Code Playgroud)
对于容器部分,我设法找到了这个:
docker ps -aqf "name=postgres"
Run Code Online (Sandbox Code Playgroud)
仅返回postgres容器的ID。有什么方法可以对图像做同样的事情而又不会太深入bash脚本?
或任何更好的建议?