docker基礎學習一

一 docker是什麼?

docker是目前比較火的容器引擎,開發者可以打包應用以及依賴到可移植的容器中,然後發佈到任何流行的Linux容器上,也可以實現虛擬化。容器完全使用沙箱機制,相互之間不會有任何接口。

二 安裝docker

yum包更新到最新
sudo yum update

安裝需要的軟件包  yum-util提供yum-config-manager功能 ,另外兩個是devicemappe驅動依賴的
sudo yum install -y yum-utils device-mapper-persistent-data 1vm2

設置爲yum源爲阿里雲
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安裝docker   ce是社區版
sudo yum install docker-ce

安裝後查看docker版本
docker -v 

在這裏插入圖片描述

三 設置docker爲國內鏡像

設置docker國內鏡像,不然拉取一些鏡像的速度會非常慢,使用的是國外站點,我剛開始使用的阿里鏡像,但是啓動docker一直無法啓動,後面更換了鏡像就可以了。

vi /etc/docker/daemon.json

將下面鏡像之間複製進去,當然也可以選擇其他國內鏡像

{
"registry-mirrors":["https://registry.docker-cn.com"]
}

我在設置鏡像的時候沒有找到cocker文件夾,我是自己通過命令創建出來的

mkdir /etc/docker 

四 docker的一些常用命令

啓動docker
systemctl start docker 

查看docker啓動狀態
systemctl status docker

停止docker
systemctl stop docker

重啓docker
systemctl restart docker

設置開機自啓
systemctl enable docker

在這裏插入圖片描述
在這裏插入圖片描述

五 docker鏡像的一些常用命令

查看鏡像
docker images

搜索鏡像,搜索的是互聯網裏面的
docker search 鏡像名稱包含的字

拉取鏡像
docker pull 鏡像名稱

刪除鏡像
docker rmi  鏡像ID|鏡像名稱

刪除全部鏡像
docker rmi `docker images -q`

在這裏插入圖片描述
在這裏插入圖片描述

六 docker容器的一些命令

  • 創建查看容器
查看容器
docker ps

查看所有容器
docker ps -a

查看最後一次運行的容器
docker ps -l

查看停止的容器
docker ps -f status=exited
查看容器日誌
docker logs -f -t --since="2018-03-31" --tail=100 elastic_raman
–since : 此參數指定了輸出日誌開始日期,即只輸出指定日期之後的日誌。 
-f : 表示查看實時日誌 
-t : 查看日誌產生的日期 
-tail=200 : 查看最後的200條日誌。 
sleepy_snyder 容器的名稱,並不是鏡像的名字

在這裏插入圖片描述

創建容器
docker run
-i:表示運行容器
-t:表示容器啓動後會進入其命令行,加入這兩個參數後,容器創建完成就會登陸進去,相當於一個僞終端
--name:爲容器命名
-v:表示目錄映射關係(前者是宿主機,後者是映射到宿主機的目錄),可以使用多個-v做多個目錄或者文件的映射。最好是最目錄映射 ,在宿主機上做修改然後共享到容器上面
-d:在run後面加上-d參數。則會創建一個守護式容器在後臺運行(這樣不會自動登陸容器。如果過只加-i,-t兩個參數會直接進入到容器裏面)
-p:表示端口映射,前者是宿主機,後者是容器內的映射端口,也是可以多個-p做多個端口映射
  • 交互式方式創建容器
docker run -it --name=MyTest   鏡像名稱:鏡像標籤    /bin/MyTest
/bin/MyTest==就是交互式方式運行之後,運行的命令(相當於加載鏡像容器的命令行)

在這裏插入圖片描述
在這裏插入圖片描述

當前已經進入到容器裏了。從新開一個窗口,就可以看到當前運行的容器了
在這裏插入圖片描述

退出容器,容器也會關機
exit

  • 守護式方式創建容器
name名字是唯一的,即使之前的容器關機了,也不能出現重複名稱
docker run -di --name=Mycentos1 centos:latest

在這裏插入圖片描述

進入容器
docker exec -it Mycentos1 /bin/bash

在這裏插入圖片描述

此時通過命令exit退出,但是容器並不會關機

  • 停止啓動容器
停止容器
docker stop 容器名稱|容器ID

啓動容器
docker start 容器名稱|容器ID

  • 文件拷貝,目錄掛載
docker cp 需要拷貝的文件或者目錄  容器名稱:容器目錄

docker cp 容器名稱:容器目錄    需要拷貝的文件或者目錄  

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

目錄掛載 宿主機的/docker/MyTest與容器的/usr/local共享
docker run -di --name=MyCentos2 -v /docker/MyTest:/usr/local centos:latest

在這裏插入圖片描述
在這裏插入圖片描述

這裏是中文,查看的時候出現亂碼了

這個命令可以查看容器的很多東西,包括IP地址
docker inspect MyCentos2

直接查詢所需要的信息,如IP地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' MyCentos2

在這裏插入圖片描述
在這裏插入圖片描述

刪除容器
docker rm 容器名稱|容器ID

七 docker備份與遷移

容器保存爲鏡像
docker commit 容器名稱 鏡像名稱

在這裏插入圖片描述
在這裏插入圖片描述

容器備份 將
docker save -o 導出文件名  鏡像名稱

導入鏡像
docker load -i 備份的鏡像文件名 

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章