Linux 下的 Docker 安裝與使用 Docker-compose 安裝

lwy7e發表於2019-06-12

一、安裝與配置

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 映象站點 可以找到專屬加速器地址,複製下來。

2.1 登入阿里雲獲取加速資訊
首先你需要註冊一個阿里雲賬號,沒有的話,通過下面的連線跳轉註冊:
https://dev.aliyun.com/
跳轉映象加速頁 https://cr.console.aliyun.com/
,獲取加速配置資訊:
然後執行以下命令:

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 上的 aspnetcore 映象:

docker pull microsoft/aspnetcore
之後執行以下命令檢視是否拉取成功:

docker images

1.拉取映象

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 指的是宿主機的目錄地址,後者則是容器的目錄地址

這裡推薦使用 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 即可進入容器管理頁面。

其中需要 使用Docker API over TCP將Portainer連線到遠端Docker環境

Docker開啟Remote API

docker預設是沒有開啟Remote API的,需要我們手動開啟。

編輯/lib/systemd/system/docker.service檔案:

註釋掉圖中第第二行,並在其上方新增一行(預設埠為2375):

ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
#ExecStart=/usr/bin/dockerd -H fd://

重啟服務:

systemctl daemon-reload
systemctl restart docker
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

docker-compose --version

相關文章