###### tags: `行雲CTF` # CTFD & Docker指令 ## 基礎觀念(可跳過) 小小科普: ISO生成VM,如同image生成container ## VM 和 Docker差異  - docker較輕量 # 實作 ## 先SSH連線到CTFD主機上 ## 下載image ``` docker pull tutum/lamp``` ## 查看已下載的image ```docker images``` ## 生成container ```docker run -d -p 2333:80 -p 3306:3306 tutum/lamp``` - - run生成指令 - 到實體主機 port 2333對應到container port 80 - container port 3306 對應到實體主機 port 3306 ## docker ps -a - 查看container進程 - 可以看到剛剛新建的container ## 進入指定container的bash shell ```docker exec -it [container id] bash``` - 進入Container ID是 2f88bd53d042的shell ```sudo docker exec -it 2f88bd53d042 bash``` ## 更多操作指令 ### 啟動容器 docker start [container id] ### 關閉容器進程 docker kill [container id] - 如同bash的kill ### 停止容器 docker stop [container id] ### 删除容器(注意要關了容器才能删) - 刪除特定容器 docker rm [container id] - 刪除所有容器 docker rm -f $(docker ps -a -q) ## 鏡像指令 ### 查詢所有鏡像 docker image ls ### 刪除鏡像 - 刪除特定image docker rmi [image id] - 刪除所有容器 docker rmi -f $(docker images) ## 啟動 ### 啟動所有容器 ```docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)``` ## 匯入匯出 - Export Container ```docker export Web_Export.tar``` - import image - docker import – [定義名稱/TAG] < [匯出的名稱].tar ### save容器 - 相當於匯出或是儲存目前狀態 [save load指令參考來源](https://blog.csdn.net/guizaijianchic/article/details/78324646) ```sudo docker save conainter_name > 打包好的檔名.tar``` ```sudo docker save pwn_deploy_chroot > pwn_deploy_chroot.tar``` ### load容器 - 相當於載入image ```docker load < 包的名稱.tar``` ```docker load < pwn_deploy_chroot.tar``` ### commit和save連用 #### commit ```docker commit -m "Added Git package" -a "Starter" 88400ddfbf99 ubuntu:v2``` Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] - -m 後面附帶commit的說明訊息 - -a 可以附加作者的資訊 剩下附帶參數分別是container id以及tag #### save - docker save可將image存到本機檔案。 ```docker save -o ubuntu.tar ubuntu:v3```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up