Docker常見用法整理
Docker 使用客戶端-服務(wù)器 (C/S) 架構(gòu)模式,使用遠(yuǎn)程API來管理和創(chuàng)建Docker容器耽梅。
Docker 容器通過 Docker 鏡像來創(chuàng)建橡羞。容器與鏡像的關(guān)系類似于面向?qū)ο缶幊讨械膶ο笈c類刻帚。
-
進(jìn)入docker查看當(dāng)前內(nèi)核版本
uname -r
-
鏡像加速
在/etc/docker/daemon.json中寫入:
{ "registry-mirrors": ["http://hub-mirror.c.163.com"] }
-
啟動docker后臺服務(wù)
sudo service docker start
-
docker容器內(nèi)運(yùn)行應(yīng)用程序
runoob@runoob:~$ docker run ubuntu:15.10 /bin/echo "Hello world" Hello world
- docker:Docker 的二進(jìn)制執(zhí)行文件砖顷。
- run: 與前面的 docker 組合來運(yùn)行一個(gè)容器。
- ubuntu: 15.10指定要運(yùn)行的鏡像巷屿,Docker首先從本地主機(jī)上查找鏡像是否存在颂鸿,如果不存在,Docker 就會從鏡像倉庫 Docker Hub 下載公共鏡像攒庵。
- /bin/echo "Hello world": 在啟動的容器里執(zhí)行的命令
-
交互式的容器
runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash root@dc0050c79503:/
- 通過docker的兩個(gè)參數(shù) -i -t嘴纺,讓docker運(yùn)行的容器實(shí)現(xiàn)"對話"的能力
- t:在新容器內(nèi)指定一個(gè)偽終端或終端。
- i: 允許你對容器內(nèi)的標(biāo)準(zhǔn)輸入 (STDIN) 進(jìn)行交互浓冒。
- 進(jìn)入容器使用cat /proc/version查看當(dāng)前系統(tǒng)的版本信息栽渴。
-
查看容器是否在運(yùn)行
docker ps
-
啟動容器
docker start 容器名
-
重啟容器
docker restart 容器名
-
停止容器
docker stop 容器名
-
移除容器
docker rm determined_swanson
-
檢查容器
docker inspect determined_swanson
-
殺死正在運(yùn)行的容器
runoob@runoob:~$ docker kill -s KILL mynginx mynginx
-
查看docker環(huán)境信息
sudo docker info #檢查docker是否正確安裝
-
列出鏡像列表
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB
-
搜索鏡像
docker search httpd
-
拉取鏡像
docker pull training/webapp
-
更新鏡像
先使用鏡像來創(chuàng)建一個(gè)容器。
docker run -t -i ubuntu:15.10 /bin/bash root@e218edb10161:/# apt-get update #命令進(jìn)行更新稳懒。
提交更新鏡像闲擦。
runoob@runoob:~$ docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2 sha256:70bf1840fd7c0d2d8ef0a42a817eb29f854c1af8f7c59fc03ac7bdee9545aff8
- -m:提交的描述信息
- -a:指定鏡像作者
- e218edb10161:容器ID
- runoob/ubuntu:v2:指定要?jiǎng)?chuàng)建的目標(biāo)鏡像名
-
查看WEB應(yīng)用程序日志
docker logs -f 7a38a1ad55c6
查看端口映射
docker port 7a38a1ad55c6
5000/tcp -> 0.0.0.0:5000
-
運(yùn)行鏡像生成容器
docker run -d -p 5000:5000 training/webapp python app.py
- -d:讓容器在后臺運(yùn)行慢味。
- -P :是容器內(nèi)部端口隨機(jī)映射到主機(jī)的端口。
- -p : 是容器內(nèi)部端口綁定到指定的主機(jī)端口墅冷。
-
設(shè)置鏡像標(biāo)簽
runoob@runoob:~$ docker tag 860c279d2fec runoob/centos:dev
- 鏡像ID 860c279d2fec
- 新的標(biāo)簽名(tag) runoob/centos:dev