docker的基本使用


------------恢復內容開始------------

引子:

  我認為docker相比傳統的虛擬化技術最大的不同就是不虛擬化內核,使用共享宿主機內核的方式。通過namesapce,聯合文件系統,cgroups這三種機制分別從網絡,文件以及資源上進行隔離,通過docker鏡像快速的實現擴容,這一點在測試進行部署測試環境以及在進行分布式壓力測試的時候,比較友好。

  namespace   網絡隔離空間,網絡空間空間機制,保證了網絡的隔離

  聯合文件系統 每個單獨的容器都會提供一個的單獨的視圖,我們在doceker容器內只能看到自己的文件,這樣就保證了文件的隔離

  cgropus        資源隔離,為每個容器申請固定的資源

  但是每個容器都有通向內核的接口。

 

基本命令:

  1 mac 安裝docker

    brew cask install docker

  2 基本命令

docker run ubuntu:14.04 /bin/echo 'hello world' 使用一個容器啟動鏡像ubuntu14.04 執行程序/bin/echo 
docker run -t -i ubuntu:14.04 /bin/bash 使用一個容器啟動鏡像ubuntu14.04 執行程序/bin/bash 交互模式
docker run -t -d ubuntu:14.04 /bin/sh 使用一個容器啟動鏡像ubuntu14.04 執行程序/bin/bash 后台模式

docker run -t -i -d --name helloubuntu ubuntu14:04

/bin/sh -c 'while true;do echo hello world ;sleep 1; done'

給容器起一個別名
docker logs docker_id/docker-names 查看容器的啟動日志

docker ps 

docker ps -a

查看運行的容器
docker stop docker_id/docker_names 停止一個容器
docker start docker_id/docker_names 啟動一個容器
docker restart docker_id/docker-names 重啟一個容器

docker rm docker_id/docker_names

docker rm $(name1,name2)

docker rm $(docker ps -q -a)

刪除容器,如果容器處於運行狀態需要加

-f參數

docker images 查看所有的鏡像
docker run --name mycicd -p 18888:8080 jenkins  啟動jenkins的鏡像 並設置別名為mycicd將宿主機18888端口映射到容器8080端口
docker pull image_name:version 拉去docker鏡像
docker push image_name:version 推送docker鏡像
docker tag {source_image:tag your_image_name} 給鏡像搭上一個tag,但是docker image只是多出來一條記錄,鏡像的id是唯一標識
docker save busybox>busybox.tar 打包鏡像
docker load <busybox.tar.gz 導入鏡像
docker info  docker 信息
docker kill 殺死doceker容器
docker exec -it docker_id /bin/bash 進入docker容器中

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  查看容器原信息 docker inspect contain_name

  宿主機查看容器運行情況 ps aux|grep jenkins    

  docker和宿主機之間拷貝文件

    docker cp local_file_name docker_id:/file_path

  運行容器執行命令

    docker exec mycicd ping 192.168.1.1

  掛載數據卷 持久化儲存容器內的數據和端口映射有些像,在-v 之后容器中就可以訪問到宿主機中的持久化位置

    docker run -it -d -p 18888:8080 -v /root/blog:/hexo --name hexo hexo3

   交互模式

   打包鏡像:

    docker build -t image_name/port .

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM