安裝Docker
yum install docker
1
1
yum install docker
開機自啟動
-- centos 6
service docker start
chkconfig docker on
--CentOS7 新式 systemd 語法
systemctl start docker.service
systemctl enable docker.service
7
1
-- centos 6
2
service docker start
3
chkconfig docker on
4
5
--CentOS7 新式 systemd 語法
6
systemctl start docker.service
7
systemctl enable docker.service
Docker運行CentOS系統
[root@localhost ~]# docker run -i -t centos /bin/bash
[root@dbf66395436d /]#
2
1
[root@localhost ~]# docker run -i -t centos /bin/bash
2
[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 |
網絡管理
--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和端口號
6
1
--p <HOT_PORT>:<CONTAINER_PORT>:指定端口號
2
docker run -P:隨機分配端口號
3
docker run -p 5010:5000:綁定特定端口號(主機的所有網絡接口的5010端口均綁定容器的5000端口)
4
docker run -p 127.0.0.1:5000:5000:綁定主機的特定接口的端口號
5
docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py:綁定udp端口號
6
docker port<CONTAINER_ID> 5000:查看容器的5000端口對應本地機器的IP和端口號
其他
docker attach <CONTAINER_ID> 連接到啟動的容器
docker logs <CONTAINER_ID> : 輸出容器日志
2
1
docker attach <CONTAINER_ID> 連接到啟動的容器
2
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
3
1
$ yum list installed | grep docker
2
yum list installed | grep docker
3
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
1
1
$ sudo yum -y remove docker-engine.x86_64
刪除鏡像/容器等
$ rm -rf /var/lib/docker
1
1
$ rm -rf /var/lib/docker
