docker是把應用程序和器依賴打包在image文件裏面,只有經過這個鏡像文件才能生成docker容器。一個image文件能夠生成多個容器實例。docker
# 下載hello-world鏡像 docker pull hello-world # 運行hello-world鏡像,產生容器實例 # 運行一個鏡像,若是這個鏡像不存在,自動下載 docker run hello-world # 導出系統當前的docker鏡像 docker save centos > /opt/centos.tar.gz # 導入一個docker鏡像 docker load < /opt/centos.tar.gz # 運行centos鏡像,而且以交互式的形式,進入centos容器當中 docker run -it centos /bin/bash -i 交互式操做 -t 開啓一個終端提供訪問 centos 鏡像名 /bin/bash 指定容器運行shell解釋器 # 運行一個ubuntu容器 docker run -it ubuntu /bin/bash docker run -d centos /bin/sh -c "while true; do echo hello world; sleep 1; done" -d 後臺運行容器,返回容器ID -c "while true; do echo hello world; sleep 1; done" 後臺運行一個shell腳本
刪除鏡像以前,須要先刪除依賴於這個鏡像的全部容器。shell
# 刪除容器 docker rm 容器id # 刪除鏡像 docker rmi 鏡像id # 強制性刪除鏡像,跳過容器記錄 docker rmi -f 鏡像id # 一次性刪除全部容器記錄,慎用!!!!! docker rm `dokcer ps -aq` # 一次性刪除全部鏡像記錄,慎用!!!!! docker rmi `dokcer images -aq`
# 查詢當前機器的鏡像 docker image ls docker images # docker容器必須有後臺進程在運行,不然容器就會掛掉。 # 查看正在運行的容器記錄 docker container ls # 全部運行過的容器記錄 docker ps -a # 查詢docker鏡像,默認去docker hub 搜索鏡像 docker search hello-world # 實時打印容器內的日誌 docker logs -f 容器id # 中止正在運行的容器記錄 docker stop 容器id # 開啓容器 docker start 容器id
提交本身的容器記錄,產生新的鏡像文件,能夠發送給其餘人使用。ubuntu
1. 運行一個centos容器記錄,此時沒有vim工具 docker run -it centos /bin/bash 2. 退出容器,提交這個容器記錄 docker commit 容器id docker hub帳號/centos-vim 3. 檢查容器鏡像 docker images 4. 提交這個鏡像到docker hub 1. 登陸到docker hub docker login 2. 登陸以後,推送這個鏡像到docker hub docker push docker hub帳號/centos-vim 3. 推送到docker hub公網以後,就能夠提供公網下載 docker pull docker hub帳號/centos-vim