Docker快速搭建OpenStack Swift開發(fā)環(huán)境

從 docker hub 下載docker鏡像 docker-swift-onlyone 在本地運行:

ID=$(docker run -d -p 12345:8080 --volumes-from SWIFT_DATA -t morrisjobke/docker-swift-onlyone)

查看啟動日志:

docker logs $ID

使用默認測試用戶查看狀態(tài):

swift -A http://127.0.0.1:12345/auth/v1.0 -U test:tester -K testing stat

測試文件上傳:

swift -A http://127.0.0.1:12345/auth/v1.0 -U test:tester -K testing upload swift swift.txt

測試下載

swift -A http://127.0.0.1:12345/auth/v1.0 -U test:tester -K testing download swift swift.txt

另外,在 github bouncestorage/docker-swift 看到可以獲取用戶的auth token,使用Rest API來對Swift訪問。

curl -v -H 'X-Storage-User: test:tester' -H 'X-Storage-Pass: testing' 

輸出:

http://127.0.0.1:12345/auth/v1.0
*   Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 12345 (#0)
> GET /auth/v1.0 HTTP/1.1
> Host: 127.0.0.1:12345
> User-Agent: curl/7.47.0
> Accept: */*
> X-Storage-User: test:tester
> X-Storage-Pass: testing
> 
< HTTP/1.1 200 OK
< X-Storage-Url: http://127.0.0.1:12345/v1/AUTH_test
< X-Auth-Token: AUTH_tk1f1e14601ef346f4883d5efb6c34e1e0
< Content-Type: text/html; charset=UTF-8
< X-Storage-Token: AUTH_tk1f1e14601ef346f4883d5efb6c34e1e0
< Content-Length: 0
< X-Trans-Id: txa513a51ac53e4ce0b0798-00575cd375
< Date: Sun, 12 Jun 2016 03:13:57 GMT
< 

使用上一步得到的X-Auth-Token和 X-Storage-Url 可以訪問,也可以將這兩個值作為環(huán)境變量TOKENURL,方便后續(xù)的的使用。

curl -v -H 'X-Auth-Token: AUTH_tk1f1e14601ef346f4883d5efb6c34e1e0' http://127.0.0.1:12345/v1/AUTH_test

輸出:

*   Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 12345 (#0)
> GET /v1/AUTH_test HTTP/1.1
> Host: 127.0.0.1:12345
> User-Agent: curl/7.47.0
> Accept: */*
> X-Auth-Token: AUTH_tk1f1e14601ef346f4883d5efb6c34e1e0
> 
< HTTP/1.1 204 No Content
< Content-Type: text/plain; charset=utf-8
< X-Account-Object-Count: 0
< X-Timestamp: 1465701356.73964
< X-Account-Bytes-Used: 0
< X-Account-Container-Count: 0
< X-Put-Timestamp: 1465701356.73964
< Content-Length: 0
< X-Trans-Id: txdd3f4112ed19411fbac58-00575cd3ec
< Date: Sun, 12 Jun 2016 03:15:56 GMT
< 
* Connection #0 to host 127.0.0.1 left intact

更多操作可以參照 github,比如其中的demo.sh,其中X-Auth-Token和 X-Storage-Url 對應環(huán)境變量TOKENURL

echo Create container

curl -X PUT -i -H "X-Auth-Token: $TOKEN" $URL/testcontainer

echo List containers:

curl -X GET -i -H "X-Auth-Token: $TOKEN" $URL

echo Contents of container:

curl -X GET -i -H "X-Auth-Token: $TOKEN" $URL/testcontainer

echo Metadata of container:

curl -X HEAD -i -H "X-Auth-Token: $TOKEN" $URL/testcontainer

echo Put object:

curl -X PUT -i -H "X-Auth-Token: $TOKEN" -T demo.sh $URL/testcontainer/testobject

echo Retrieve object

curl -X GET -i -H "X-Auth-Token: $TOKEN" -o retrieved_demo.sh $URL/testcontainer/testobject

當然,用以上 git hub 里提到的鏡像 kahing/docker-swift 也可以

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容