1. 程式人生 > 其它 >docker 基本使用

docker 基本使用

第一步:yum 包更新到最新
sudo yum update

第二步:安裝需要的軟體包
yum-util 提供yum-config-manager功能,另外兩個是devicemapper驅動依賴的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

第三步:設定yum源為阿里雲
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

第四步:安裝docker
sudo yum install docker-ce

第五步:安裝後檢視docker版本
docker -v
第六步:設定ustc的映象
ustc是老牌的linux映象服務提供者了,還在遙遠的ubuntu 5.04版本的時候就在用。ustc的docker映象加速器速度很快。ustc docker mirror的優勢之一就是不需要註冊,是真正的公共服務。

https://lug.ustc.edu.cn/wiki/mirrors/help/docker

編輯該檔案:
vi /etc/docker/daemon.json
在該檔案中輸入如下內容:
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

第七步:Docker的啟動與停止
systemctl命令是系統服務管理器指令

啟動docker:
systemctl start docker

停止docker:
systemctl stop docker

重啟docker:
systemctl restart docker

檢視docker狀態:
systemctl status docker

開機啟動:
systemctl enable docker

檢視docker概要資訊
docker info

檢視docker幫助文件
docker --help


Docker 映象操作

一: 檢視映象

docker images

REPOSITORY:映象名稱

TAG:映象標籤

IMAGE ID:映象ID

CREATED:映象的建立日期(不是獲取該映象的日期)

SIZE:映象大小

這些映象都是儲存在Docker宿主機的/var/lib/docker目錄下

二: 搜尋映象
如果你需要從網路中查詢需要的映象,可以通過以下命令搜尋

docker search 映象名稱

NAME:倉庫名稱

DESCRIPTION:映象描述

STARS:使用者評價,反應一個映象的受歡迎程度

OFFICIAL:是否官方

AUTOMATED:自動構建,表示該映象由Docker Hub自動構建流程建立的


三: 拉取映象
拉取映象就是從中央倉庫中下載映象到本地

docker pull 映象名稱
例如,我要下載centos7映象
docker pull centos:7


四:刪除映象
按映象ID刪除映象

docker rmi 映象ID

刪除所有映象
docker rmi `docker images -q

Docker容器操作
一 檢視容器
檢視正在執行的容器
docker ps

檢視所有容器
docker ps –a

檢視最後一次執行的容器
docker ps –l

檢視停止的容器
docker ps -f status=exited

二 建立與啟動容器
建立容器常用的引數說明:

建立容器命令:docker run

-i:表示執行容器

-t:表示容器啟動後會進入其命令列。加入這兩個引數後,容器建立就能登入進去。即分配一個偽終端。

--name :為建立的容器命名。

-v:表示目錄對映關係(前者是宿主機目錄,後者是對映到宿主機上的目錄),可以使用多個-v做多個目錄或檔案對映。注意:最好做目錄對映,在宿主機上做修改,然後共享到容器上。

-d:在run後面加上-d引數,則會建立一個守護式容器在後臺執行(這樣建立容器後不會自動登入容器,如果只加-i -t兩個引數,建立後就會自動進去容器)。

-p:表示埠對映,前者是宿主機埠,後者是容器內的對映埠。可以使用多個-p做多個埠對映

(1)互動式方式建立容器
docker run -it --name=容器名稱 映象名稱:標籤 /bin/bash
這時我們通過ps命令檢視,發現可以看到啟動的容器,狀態為啟動狀態

退出當前容器
exit

(2)守護式方式建立容器:
docker run -di --name=容器名稱 映象名稱:標籤
登入守護式容器方式:
docker exec -it 容器名稱 (或者容器ID) /bin/bash

三 停止與啟動容器
停止容器:
docker stop 容器名稱(或者容器ID)

啟動容器:
docker start 容器名稱(或者容器ID)


四 檔案拷貝
如果我們需要將檔案拷貝到容器內可以使用cp命令

docker cp 需要拷貝的檔案或目錄 容器名稱:容器目錄
也可以將檔案從容器內拷貝出來

docker cp 容器名稱:容器目錄 需要拷貝的檔案或目錄


五 目錄掛載
我們可以在建立容器的時候,將宿主機的目錄與容器內的目錄進行對映,這樣我們就可以通過修改宿主機某個目錄的檔案從而去影響容器。
建立容器 新增-v引數 後邊為 宿主機目錄:容器目錄,例如:
docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:7
如果你共享的是多級的目錄,可能會出現許可權不足的提示。

這是因為CentOS7中的安全模組selinux把許可權禁掉了,我們需要新增引數 --privileged=true 來解決掛載的目錄沒有許可權的問題

六 檢視容器IP地址
我們可以通過以下命令檢視容器執行的各種資料
docker inspect 容器名稱(容器ID)

也可以直接執行下面的命令直接輸出IP地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名稱(容器ID)
七 刪除容器
刪除指定的容器:
docker rm 容器名稱(容器ID)

Docker安裝Nginx
一 拉取映象
docker pull nginx

二 建立Nginx容器
docker run -di --name=mynginx -p 80:80 nginx


Docker安裝MySQL
MySQL部署
一 拉取mysql映象
docker pull centos/mysql-57-centos7

二 建立容器
docker run -di --name=mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
-p 代表埠對映,格式為 宿主機對映埠:容器執行埠

-e 代表新增環境變數 MYSQL_ROOT_PASSWORD 是root使用者的登陸密碼

(3)遠端登入mysql

連線宿主機的IP ,指定埠為33306


Docker安裝Redis
一 拉取映象
docker pull redis

二 建立容器
docker run -di --name=myredis -p 6379:6379 redis