安裝Docker
開機自啓動
-- centos 6
service docker start
chkconfig docker on
--CentOS7 新式 systemd 語法
systemctl start docker.service
systemctl enable docker.service
Docker運行CentOS系統
[root@localhost ~]# docker run -i -t centos /bin/bash
[root@dbf66395436d /]#
CentOS 容器已經被啓動,而且咱們獲得了 bash 提示符。
在 docker 命令中咱們使用了 「-i 捕獲標準輸入輸出」和 「-t 分配一個終端或控制檯」選項。
若要斷開與容器的鏈接,輸入 exit。
通用指定
操做 |
命令 |
示例 |
查看 docker 版本 |
docker version |
docker version |
查看 docker 信息 |
docker info |
docker info |
查看某命令 help 信息 |
docker help [command] |
docker help attach |
查看 docker help 信息 |
docker --help |
docker --help |
Container相關指令
其中 能夠經過 docker images 獲取相關信息
操做 |
命令 |
示例 |
建立 container |
docker create |
docker create chenhengjie123/xwalkdriver |
建立並運行 container |
docker run |
docker run chenhengjie123/xwalkdriver /bin/bash |
建立並運行 container 後進入其 bash 控制檯 |
docker run -t -i image /bin/bash |
docker run -t -i ubuntu /bin/bash |
建立並運行 container 並讓其在後臺運行,並端口映射 |
docker run -p [port in container]:[port in physical system] -d [image] [command] |
docker run -p 5000:5000 -d training/webapp python app.py |
查看正在運行的全部 container 信息 |
docker ps |
docker ps |
查看最後建立的 container |
docker ps -l |
docker ps -l |
查看全部 container ,包括正在運行和已經關閉的 |
docker ps -a |
docker ps -a |
輸出指定 container 的 stdout 信息(用來看 log ,效果和 tail -f 相似,會實時輸出。) |
docker logs -f [container] |
docker logs -f nostalgic_morse |
獲取 container 指定端口映射關係 |
docker port [container] [port] |
docker port nostalgic_morse 5000 |
查看 container 進程列表 |
docker top [container] |
docker top nostalgic_morse |
查看 container 詳細信息 |
docker inspect [container] |
docker inspect nostalgic_morse |
中止 continer |
docker stop [container] |
docker stop nostalgic_morse |
強制中止 container |
docker kill [container] |
docker kill nostalgic_morse |
啓動一個已經中止的 container |
docker start [container] |
docker start nostalgic_morse |
重啓 container (若 container 處於關閉狀態,則直接啓動) |
docker restart [container] |
docker restart nostalgic_morse |
刪除 container |
docker rm [container] |
docker rm nostalgic_morse |
imgae相關指令
操做 |
命令 |
示例 |
從 container 建立 image(反過來) |
docker commit [container] [imageName] |
docker commit nostalgic_morse ouruser/sinatra:v2 |
從 Dockerfile 建立 image |
docker build -t [imageName] [pathToFolder] |
docker build ouruser/sinatra:v3 . |
查看本地全部 image |
docker images |
docker images |
在 registry 中搜索鏡像 |
docker search [query] |
docker search ubuntu |
從 registry 中獲取鏡像 (若無指定 tag 名稱,則默認使用 latest 這個 tag) |
docker pull [imageName] |
docker pull ubuntu:14.04 , docker pull training/webapp |
給 image 打 tag |
docker tag [imageId] [imageName] |
docker tag 5db5f8471261 ouruser/sinatra:devel |
把本地 image 上傳到 registry 中 (此時會把全部 tag 都上傳上去) |
docker push [imageName] |
docker push ouruser/sinatra |
刪除本地 image |
docker rmi [image] |
docker rmi training/sinatra |
注意:image 中沒有指定 tag 名稱的話默認使用 latest 這個 tag 。然而 latest 的含義和 VCS 中的 head 不同,不是表明最新一個鏡像,僅僅是表明 tag 名稱爲 latest 的鏡像。若不存在 tag 名稱爲 latest 的鏡像則會報錯。
網絡管理
--p <HOT_PORT>:<CONTAINER_PORT>:指定端口號
docker run -P:隨機分配端口號
docker run -p 5010:5000:綁定特定端口號(主機的全部網絡接口的5010端口均綁定容器的5000端口)
docker run -p 127.0.0.1:5000:5000:綁定主機的特定接口的端口號
docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py:綁定udp端口號
docker port<CONTAINER_ID> 5000:查看容器的5000端口對應本地機器的IP和端口號
其餘
docker attach <CONTAINER_ID> 鏈接到啓動的容器
docker logs <CONTAINER_ID> : 輸出容器日誌
卸載docker所有資源
列出你安裝過的包
$ yum list installed | grep docker
yum list installed | grep docker
docker-engine.x86_64 1.7.1-1.el7 @/docker-engine-1.7.1-1.el7.x86_64.rpm
刪除安裝包
$ sudo yum -y remove docker-engine.x86_64
刪除鏡像/容器等