1. 程式人生 > >一些筆記

一些筆記

網絡端口 命令 echo solid 冒號 padding line 正在 sim

安裝 yum install -y docker-io 卸載 1 $ yum list installed | grep docker docker-engine.x86_64 1.7.1-1.el7 @/docker-engine-1.7.1-1.el7.x86_64.rpm 2 yum -y remove docker-engine.x86_64
查看docker程序是否正常工作 docker info 啟動關閉docker /etc/init.d/docker start|stop 技術分享

幫助 man docker man docker-run docker help run

容器 docker run命令 創建容器 docker run -i -t centos /bin/bash 當前系統中容器的列表 docker ps -a 給容器命名 docker run --name bob_the_container -i -t ubuntu 啟動已經停止運行的容器 docker start bob_the_container 創建一個容器, 但是並不運行它。 docker create 如果退出容器的shell, 容器會再次停止運行。 docker attach bob_the_container 創建長期運行的容器 docker run --name daemon_dave -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
docker run命令使用了-d參數, 因此Docker會將容器放 到後臺運行。 刪除容器 docker rm 容器 刪除所有容器 sudo docker rm `sudo docker ps -a -q docker run -i -t -d centos /bin/bash 啟動一個守護式容器,不進入shell,attach後退出容器就會停止 docker run -i -t centos /bin/bash 啟動一個交互式容器,進入shell,attach後退出容器就會停止 獲取守護式容器的日誌 docker logs 11397afe83a8 docker logs -f 11397afe83a8
查看守護式容器的進程 docker top 11397afe83a8 顯示一個或多個容器的統計信息 docker stats 11397afe83a8 在容器中運行後臺任務 docker exec -d daemon_dave touch /etc/new_config_fil -d好像沒用 在容器內運行交互命令 docker exec -t -i daemon_dave /bin/bash 停止正在運行的Docker容器 docker stop daemon_dave docker kill daemon_dave 自動重啟容器 docker run --restart=always --name daemon_dave -d ubuntu / bin/sh -c "while true; do echo hello world; sleep 1; done docker run --name restart --restart=always -i -t -d centos /bin/bash --restart=always --restart=on-failure:5 通過docker ps命令獲取容器的信息, 還可以使用docker inspect來獲得更多的容器信息, docker inspect daemon 卷 -v這個選項允許我們將宿主機的目錄作為卷, 掛載到容器裏。 docker run -i -t -v $PWD:/home centos /bin/bash $PWD本機目錄,/home 容器目錄,進入容器發現容易/home目錄與本機目錄同步
鏡像 列出Docker鏡像 docker images 拉取Ubuntu鏡像 docker pull ubuntu:12.04 拉取帶標簽的fedora鏡像 sudo docker pull fedora:21 該命令只會拉取fedora:21鏡像。 運行一個帶標簽的Docker鏡像 docker run -t -i --name new_container ubuntu:12.04 冒號和標簽名來指定該倉庫中的某一鏡像 查找鏡像-docker search命令來查找所有Docker Hub上公共的可用鏡像 docker search puppet Docker鏡像有以下兩種方法。 1.使用docker commit命令。 (docker commit 7a22777d0cc8 lqy/comit_test:1.0) 7a22777d0cc8 容器id,lqy/comit_test:名字(用戶名/倉庫命),1.0 TAG 從新鏡像啟動容器 docker run -t -i lqy/comit_test:1.0 2.使用docker build命令和Dockerfile文件 登錄到Docker Hub docker login docker logout 從新鏡像啟動容器 docker run -d -p 80 --name static_web jamtur01/static_web nginx -g "daemon off;" 使用docker run命令, 啟動名為static_web的新容器。-d選項, 告訴 在後臺運行。 這種方式非常適合運行類似Nginx守護進程這樣的需要長時間運行的進程。 我們也指定了需要在容器中運行的命令: nginx -g "daemon 新的-p標誌, 該標誌用來控制Docker在運行時應 該公開哪些網絡端口給外部( 宿主機) 查看Docker端口映射情況 docker ps -l 查看容器的端口映射情況 docker port 6751b94bb5c0 80 通過-p選項映射到特定端口 docker run -d -p 80:80 --name static_web jamtur01/static_we nginx -g "daemon off;" 將容器內的80端口綁定到本地宿主機的80端口上 綁定不同的端口 docker run -d- p 8080:80 --name static_web jamtur01/static_ nginx -g "daemon off;" 這條命令會將容器中的80端口綁定到宿主機的8080端口上。 綁定到特定的網絡接口 docker run -d -p 127.0.0.1:80:80 --name static_web jamtur01 nginx -g "daemon off;" 綁定到特定的網絡接口的隨機端口 docker run -d -p 127.0.0.1::80 --name static_web jamtur01/s nginx -g "daemon off; -P參數 $ sudo docker run -d -P --name static_web jamtur01/static_web \ nginx -g "daemon off; 該命令會將容器內的80端口對本地宿主機公開, 並且綁定到宿主機的一 個隨機端口上。 如:
代碼清單5-34 啟動Redis容器
$ sudo docker run -d -p 6379 --name redis jamtur01/redis
0a206261f079
可以看到, 我們從jamtur01/redis鏡像啟動了一個新的容器, 名字
是redis。 註意, 我們指定了-p標誌來公開6379端口。 看看這個端口映
射到宿主機的哪個端口, 如代碼清單5-35所示。
代碼清單5-35 檢查Redis端口
$ sudo docker port redis 6379
0.0.0.0:49161
Redis的端口映射到了49161端口。
推送Docker鏡像(Docker Hub) docker push jamtur01/static_web 推送Docker鏡像(私庫) 使用新的Registry給該鏡像打上標簽。 為了指定新的Registry目的地址, 需要在鏡像名前加上主機名和端口前綴使用新Registry為鏡像打標簽 docker tag 414e329a078f localhost.localdomain:5000/tag1 414e329a078f 是鏡像id,localhost.localdomain主機名字,tag1隨便 docker push localhost.localdomain:5000/tag1 刪除Docker鏡像 docker rmi jamtur01/static_web 刪除所有鏡像 sudo docker rmi `docker images -a -q` v2版本的私庫查看 curl -X GET http://localhost.localdomain:5000/v2/_catalog 從私庫下載 docker pull localhost.localdomain:5000/tag1 技術分享

秒下載
網絡 docker network docker network create app創建 docker network inspect查看 docker network ls 命令列出當前系統中的所有網絡 docker network rm命令刪除一個Docker網絡 docker network connect將正在運行的容器通過命令添加到已有的網絡中 docker network disconnect命令斷開一個容器與指定網絡的鏈接

一些筆記