Docker的安裝與基本命令
一、Docker的安裝
這裏只講CentOS系統中安裝Docker,操作系統內核版本要求高於3.10並且必須是64位,一般來說爲CentOS 6.5以上版本,如不確定的話,可以查看內核版本,敲入命令
uname -r
yum安裝命令
yum -y install docker
安裝指定版本
查看所有版本
yum list docker
安裝版本,例如:
yum -y install docker-1.12.6
二、Docker基本命令
啓動Docker
systemctl start docker
或者
service docker start
查看Docker版本號
docker version
docker運行一個hello-world
docker run hello-world
卸載Docker,會保留鏡像,卷,容器等數據
yum -y remove docker
刪除容器、鏡像、卷以及自定義配置文件
rm -rf /var/lib/docker
搜索鏡像,比如,搜索一個nginx的鏡像
docker search nginx
該表格有五個列,含義如下:
NANE:鏡像倉庫名稱
DESCRIPTION:鏡像倉庫描述
STATUS:鏡像倉庫收藏數,也就是被收藏了多少次,間接表示了該倉庫的歡迎程度
OFFICAL:標識是否爲官方倉庫,OK標識爲由軟件的官方項目組創建和維護
AUTOMATED:標識是否是自動構建的鏡像倉庫
下載鏡像:
例如,想要下載nginx的
docker pull nginx
此時,會下載一個默認爲最新版本的nginx鏡像
如果要下載指定版本的鏡像,需要去dockerhub上搜索
然後下載自己指定的版本
docker pull nginx:1.12.2
查看本機的所有鏡像
docker images
上圖爲我自己創建的一個鏡像,此圖僅供參考,這裏有五列,分別標識
REPOSITORY:鏡像所屬倉庫
TAG:鏡像標籤,也可以說是版本
IMAGE ID:鏡像ID,唯一標識一個鏡像
CREATED:創建時間
SIZE:鏡像大小
刪除鏡像,例如刪除nginx鏡像
docker rmi nginx
也可以根據id來刪除,例如我要刪除上面的鏡像
docker rmi a3c1c91c9222
刪除所有鏡像
docker rmi -f $(docker images)
三、Docker容器基本命令
新建並啓動容器,例如啓動一個nginx容器
docker run --name mynginx -d -p 88:80 nginx
這裏參數說明一下:
--name :自己定義一個容器名稱
-d:表示在後臺運行
-p:端口映射,標識宿主機和容器之間端口的映射情況,宿主機的88端口映射容器的80端口,如果不加該參數則端口一致
此外,後面還可以加--network參數
--network=bridge:默認選項,表示連接到默認的網橋
--network=host:容器使用宿主機的網絡
--network=container:NAME_or_ID:告訴Docker讓新建的容器使用已有容器的網絡配置
--network=none:不配置該容器網絡,用戶可以自己定義網絡配置
示例:啓動一個java容器並輸出Hello World
需要說明的是執行docker run 命令,在啓動容器的時候會判斷鏡像存在不存在,不存在會先pull該鏡像,然後再啓動
查看已開啓的鏡像
docker ps
這裏有七列,說明一下含義:
CONTAINER ID:容器ID,唯一標識一個容器
IMAGE:所屬鏡像ID
COMMAND:容器啓動時與運行的命令
CREATED:創建時間
STATUS:容器狀態,UP表示運行中,Exited表示已停止
PORTS:標識容器對外的端口號
NAMES:標識容器名稱,該名稱是在啓動容器執行docker run --name 時候指定的,不指定會自動生成
查看所有容器
docker ps -a
停止容器 docker stop 容器名稱或者容器ID,例如停止mynginx容器
docker stop mynginx
強行停止容器 docker kill 容器名稱或者容器IDdocker kill mynginx
啓動已停止的容器 docker start 容器名稱或者容器ID
docker start mynginx
重啓容器 docker restart 容器名或者容器IDdocker restart mynginx
進入容器 docker exec -it 容器名稱或者容器ID bash -i:標準輸入給容器 -t分配一個虛擬終端
docker exec -it mynginx bash
刪除容器 docker rm 容器名稱或者容器IDdocker rm mynginx
刪除所有容器
docker rm -f $(docker ps -a -q)
修改容器後生成一個新的鏡像
docker commit -a "chicu" -m "new image" java newimage/java:lasted
-a:作者
-m:描述
java:是我創建的容器名稱
newimage/java:lasted:鏡像庫/鏡像名:標籤