天天看點

Linux 下的 Docker 安裝與使用

一、安裝與配置

1.安裝依賴包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2            

2.設定阿裡雲鏡像源

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo            

3.安裝 Docker-CE

  • 重建 Yum 緩存。
  • 安裝 Docker-CE ,請執行一下指令進行安裝:
sudo yum install docker-ce           

4.啟動 Docker-CE

sudo systemctl enable docker
sudo systemctl start docker           

5.[可選] 為 Docker 建立使用者組

docker 指令與 Docker 引擎通訊之間通過 UnixSocket ,但是能夠有權限通路 UnixSocket 的使用者隻有 root 和 docker 使用者組的使用者才能夠進行通路,是以我們需要建立一個 docker 使用者組,并且将需要通路 docker 的使用者添加到這一個使用者組當中來。

1. 建立 Docker 使用者組

sudo groupadd docker           

2.添加目前使用者到 docker 組

sudo usermod -aG docker $USER           

6.鏡像加速配置

這裡使用的是 阿裡雲提供的鏡像加速 ,登入并且設定密碼之後在左側的 Docker Hub 鏡像站點 可以找到專屬加速器位址,複制下來。

然後執行以下指令:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["你的加速器位址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker           

之後重新加載配置,并且重新開機 Docker 服務

systemctl daemon-reload
systemctl restart docker           

二、配置 Docker 容器與鏡像

1.拉取鏡像

拉取微軟在 Docker 上的 aspnetcore 鏡像:

docker pull microsoft/aspnetcore           

之後執行以下指令檢視是否拉取成功:

docker images           
Linux 下的 Docker 安裝與使用

三、Docker 常用指令

docker pull           

2.删除容器

docker rm <容器名 or ID>           

3.檢視容器日志

docker logs -f <容器名 or ID>           

4.檢視正在運作的容器

docker ps
docker ps -a # 為檢視所有的容器,包括已經停止的。           

5.删除所有容器

docker rm $(docker ps -a -q)           

6.停止、啟動、殺死指定容器

docker start <容器名 or ID> # 啟動容器
docker stop <容器名 or ID> # 啟動容器
docker kill <容器名 or ID> # 殺死容器           

7.檢視所有鏡像

docker images           

8.拉取鏡像

docker pull <鏡像名:tag>
# 例如以下代碼
docker pull sameersbn/redmine:latest           

9.背景運作

docker run -d <Other Parameters>
# 例如
docker run -d -p 127.0.0.1:33301:22 centos6-ssh           

10.暴露端口

# 一共有三種形式進行端口映射
docker -p ip:hostPort:containerPort # 映射指定位址的主機端口到容器端口
# 例如:docker -p 127.0.0.1:3306:3306 映射本機3306端口到容器的3306端口
docker -p ip::containerPort # 映射指定位址的任意可用端口到容器端口
# 例如:docker -p 127.0.0.1::3306 映射本機的随機可用端口到容器3306端口
docer -p hostPort:containerPort # 映射本機的指定端口到容器的指定端口
# 例如:docker -p 3306:3306 # 映射本機的3306端口到容器的3306端口           

11.映射資料卷

docker -v /home/data:/opt/data # 這裡/home/data 指的是主控端的目錄位址,後者則是容器的目錄位址           

四、GUI 管理配置

這裡推薦使用 Portainer 作為容器的 GUI 管理方案。

官方位址:https://portainer.io/install.html

安裝指令:

docker volume create portainer_data
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer           

通路你的 IP:9000 即可進入容器管理頁面。

如下:

Linux 下的 Docker 安裝與使用

設定自己的密碼

Linux 下的 Docker 安裝與使用

單機版這裡選擇local即可

叢集運作

在有多台Docker的情況下,進行叢集管理就十分重要了,Portainer也支援叢集管理,Portainer可以和Swarm一起來進行叢集管理操作,Swarm搭建參考上文。

通過以下指令啟動

docker run -d -p 9000:9000 --restart=always --name prtainer-test portainer/portainer           
Linux 下的 Docker 安裝與使用
Linux 下的 Docker 安裝與使用
Linux 下的 Docker 安裝與使用
Linux 下的 Docker 安裝與使用
Linux 下的 Docker 安裝與使用