一些筆記
阿新 • • 發佈:2017-07-31
網絡端口 命令 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
容器 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端口對本地宿主機公開, 並且綁定到宿主機的一 個隨機端口上。 如:
推送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命令斷開一個容器與指定網絡的鏈接
查看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鏡像 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 network docker network create app創建 docker network inspect查看 docker network ls 命令列出當前系統中的所有網絡 docker network rm命令刪除一個Docker網絡 docker network connect將正在運行的容器通過命令添加到已有的網絡中 docker network disconnect命令斷開一個容器與指定網絡的鏈接
一些筆記