|
|
|
@ -1,8 +1,6 @@
|
|
|
|
|
#!/usr/bin/env sh
|
|
|
|
|
|
|
|
|
|
#DEPLOY_DOCKER_CONTAINER_LABEL="xxxxxxx"
|
|
|
|
|
#DOCKER_HOST=/var/run/docker.sock | tcp://localhost:8888
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#DEPLOY_DOCKER_CONTAINER_KEY_FILE="/path/to/key.pem"
|
|
|
|
|
#DEPLOY_DOCKER_CONTAINER_CERT_FILE="/path/to/cert.pem"
|
|
|
|
@ -10,7 +8,7 @@
|
|
|
|
|
#DEPLOY_DOCKER_CONTAINER_FULLCHAIN_FILE="/path/to/fullchain.pem"
|
|
|
|
|
#DEPLOY_DOCKER_CONTAINER_RELOAD_CMD="service nginx force-reload"
|
|
|
|
|
|
|
|
|
|
_DEPLOY_DOCKER_WIKI="http://xxxxxx"
|
|
|
|
|
_DEPLOY_DOCKER_WIKI="https://github.com/Neilpang/acme.sh/wiki/deploy-to-docker-containers"
|
|
|
|
|
|
|
|
|
|
_DOCKER_HOST_DEFAULT="/var/run/docker.sock"
|
|
|
|
|
|
|
|
|
@ -20,7 +18,7 @@ docker_deploy() {
|
|
|
|
|
_ccert="$3"
|
|
|
|
|
_cca="$4"
|
|
|
|
|
_cfullchain="$5"
|
|
|
|
|
|
|
|
|
|
_debug _cdomain "$_cdomain"
|
|
|
|
|
if [ -z "$DEPLOY_DOCKER_CONTAINER_LABEL" ]; then
|
|
|
|
|
_err "The DEPLOY_DOCKER_CONTAINER_LABEL variable is not defined, we use this label to find the container."
|
|
|
|
|
_err "See: $_DEPLOY_DOCKER_WIKI"
|
|
|
|
@ -147,25 +145,25 @@ _get_id() {
|
|
|
|
|
|
|
|
|
|
#id cmd
|
|
|
|
|
_docker_exec() {
|
|
|
|
|
_eargs="$@"
|
|
|
|
|
_eargs="$*"
|
|
|
|
|
_debug2 "_docker_exec $_eargs"
|
|
|
|
|
_dcid="$1"
|
|
|
|
|
shift
|
|
|
|
|
if [ "$_USE_DOCKER_COMMAND" ]; then
|
|
|
|
|
docker exec -i "$_dcid" $@
|
|
|
|
|
docker exec -i "$_dcid" "$@"
|
|
|
|
|
elif [ "$_USE_REST" ]; then
|
|
|
|
|
_err "Not implemented yet."
|
|
|
|
|
return 1
|
|
|
|
|
elif [ "$_USE_UNIX_SOCKET" ]; then
|
|
|
|
|
_cmd="$@"
|
|
|
|
|
_cmd="$(printf "$_cmd" | sed 's/ /","/g')"
|
|
|
|
|
_cmd="$*"
|
|
|
|
|
_cmd="$(printf "%s" "$_cmd" | sed 's/ /","/g')"
|
|
|
|
|
_debug2 _cmd "$_cmd"
|
|
|
|
|
#create exec instance:
|
|
|
|
|
cjson="$(_curl_unix_sock "$_DOCKER_SOCK" POST "/containers/$_dcid/exec" "{\"Cmd\": [\"$_cmd\"]}")";
|
|
|
|
|
cjson="$(_curl_unix_sock "$_DOCKER_SOCK" POST "/containers/$_dcid/exec" "{\"Cmd\": [\"$_cmd\"]}")"
|
|
|
|
|
_debug2 cjson "$cjson"
|
|
|
|
|
execid="$(echo "$cjson" | cut -d '"' -f 4)"
|
|
|
|
|
_debug execid "$execid"
|
|
|
|
|
ejson="$(_curl_unix_sock "$_DOCKER_SOCK" POST "/exec/$execid/start" "{\"Detach\": false,\"Tty\": false}")";
|
|
|
|
|
ejson="$(_curl_unix_sock "$_DOCKER_SOCK" POST "/exec/$execid/start" "{\"Detach\": false,\"Tty\": false}")"
|
|
|
|
|
_debug2 ejson "$ejson"
|
|
|
|
|
else
|
|
|
|
|
_err "Not implemented yet."
|
|
|
|
@ -182,7 +180,11 @@ _docker_cp() {
|
|
|
|
|
_dir="$(dirname "$_to")"
|
|
|
|
|
_docker_exec "$_dcid" mkdir -p "$_dir"
|
|
|
|
|
if [ "$_USE_DOCKER_COMMAND" ]; then
|
|
|
|
|
cat "$_from" | _docker_exec "$_dcid" tee "$_to" >/dev/null
|
|
|
|
|
if [ "$DEBUG" ] && [ "$DEBUG" -ge "2" ]; then
|
|
|
|
|
_docker_exec "$_dcid" tee "$_to" <"$_from"
|
|
|
|
|
else
|
|
|
|
|
_docker_exec "$_dcid" tee "$_to" <"$_from" >/dev/null
|
|
|
|
|
fi
|
|
|
|
|
if [ "$?" = "0" ]; then
|
|
|
|
|
_info "Success"
|
|
|
|
|
return 0
|
|
|
|
@ -196,7 +198,7 @@ _docker_cp() {
|
|
|
|
|
elif [ "$_USE_UNIX_SOCKET" ]; then
|
|
|
|
|
_frompath="$_from"
|
|
|
|
|
if _startswith "$_frompath" '/'; then
|
|
|
|
|
_frompath="$(echo "$_from" | cut -b 2- )" #remove the first '/' char
|
|
|
|
|
_frompath="$(echo "$_from" | cut -b 2-)" #remove the first '/' char
|
|
|
|
|
fi
|
|
|
|
|
_debug2 "_frompath" "$_frompath"
|
|
|
|
|
_toname="$(basename "$_to")"
|
|
|
|
@ -232,9 +234,9 @@ _curl_unix_sock() {
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "$DEBUG" ] && [ "$DEBUG" -ge "2" ]; then
|
|
|
|
|
curl -vvv --silent --unix-socket "$_socket" -X $_method --data-binary "$_data" --header "$_ctype" "$_cux_url"
|
|
|
|
|
curl -vvv --silent --unix-socket "$_socket" -X "$_method" --data-binary "$_data" --header "$_ctype" "$_cux_url"
|
|
|
|
|
else
|
|
|
|
|
curl --silent --unix-socket "$_socket" -X $_method --data-binary "$_data" --header "$_ctype" "$_cux_url"
|
|
|
|
|
curl --silent --unix-socket "$_socket" -X "$_method" --data-binary "$_data" --header "$_ctype" "$_cux_url"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -261,4 +263,3 @@ _check_curl_version() {
|
|
|
|
|
fi
|
|
|
|
|
return 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|