docker的安裝及使用

準備工具:mysql

  系統:ubuntu18.04linux

  docker軟件包:docker-compose.tar.gz,containerd.io_1.2.4-1_amd64.deb,docker-ce-cli_18.09.3_3-0_ubuntu-bionic_amd64.deb,docker-ce_18.09.3_3-0_ubuntu-bionic_amd64.debgit

  應用軟件包:mysql-v3.tar.gz,activemq-v3.tar.gz,wanlida-v3.tar.gz,db.tar.gz,docker-compose.ymlgithub

  數據庫數據包:db.tar.gzweb

一.安裝Docker CEsql

離線安裝docker:docker

  1.將containerd.io_1.2.4-1_amd64.deb,docker-ce-cli_18.09.3_3-0_ubuntu-bionic_amd64.deb,docker-ce_18.09.3_3-0_ubuntu-bionic_amd64.deb三個導入本地服務器,或者從https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64/下載數據庫

  2.安裝container.iojson

    $ sudo apkg -i containerd.io_1.2.4-1_amd64.debubuntu

  3.安裝docker-ce-cli

    $ sudo apkg -i docker-ce-cli_18.09.3_3-0_ubuntu-bionic_amd64.deb

  4.安裝docker-ce

    $ sudo apkg -i docker-ce_18.09.3_3-0_ubuntu-bionic_amd64.deb

  5.檢查是否安裝成功

    $ sudo docker -v  #僅僅是查看docker-ce-cli客戶端軟件包是否安裝成功

    $ sudo docker images  #查看本地鏡像,若是報錯就是安裝不成功

    $ sudo docker run hello-world  #在聯網狀況下檢測是否安裝成功

在線安裝docker:

  1.添加使用HTTPS傳輸的軟件包以及CA證書

    $ sudo apt-get update

    $ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

  2.爲了確認所下載軟件包的合法性,須要添加軟件源的 GPG 密鑰

    $ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -  (國內鏡像源)

    # $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -  (官方源)

  3.向 source.list 中添加 Docker 軟件源

    $ sudo add-apt-repository  "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu  $(lsb_release -cs)  stable"   (國內軟件源)

    # $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"  (官方源)

  4.安裝docker

    $ sudo apt-get update

    $ sudo apt-get install docker-ce

  5.啓動docker ce(默認安裝成功後自動啓動)

    $ sudo systemctl enable docker

    $ sudo systemctl start docker

  6.創建docker用戶組(默認安裝成功後自動創建)

    $ sudo groupadd docker

  7.把當前用戶加入docoker組,以使當前用戶具備操做docker權限

    $ sudo usermod -aG docker $USER

    退出終端,從新登陸後更改生效

  8.測試docker是否安裝成功

    $ docker run hello-world  (若是當前用戶沒有加入docker組,須要root權限執行此命令)

  9.若是下載緩慢,能夠配置鏡像加速器

    $ cd /etc/docker

    $ vim daemon.json  (默認沒有此配置文件,須要本身建立)

  把官方提供的鏡像加速器添加到配置文件,也能夠本身改成其餘加速器,例如阿里雲的加速器

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

  10.卸載docker:

    1.卸載docker軟件包

      $ sudo apt-get purge docker-ce

      $ sudo apt-get remove --auto-remove docker

    2.刪除在電腦裏的鏡像、容器和數據卷

      $ sudo rm -rf /var/lib/docker        

二.安裝Docker Compose  # 若是不使用docker-compose方式部署,能夠不安裝

1.下載最新版本的Docker Compose

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
或者從本地導入已經下載好的軟件包docker-compose.tar.gz
# $ tar -xzf docker-compose.tar.gz /usr/local/bin/  # 離線安裝模式

2.添加可執行權限

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

3.添加軟鏈接

$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

4.測試是否安裝成功 

  $ docker-compose --version

5.卸載docker-compose

  使用curl方式或者離線安裝:

    $ sudo rm /usr/local/bin/docker-compose

  使用pip方式安裝:

    $ sudo pip uninstall docoker-compose

三.遠程部署項目

1.打包本地鏡像

  $ docker save 鏡像ID | gzip > filename.tar.gz

  本文檔實例:分別打包壓縮 mysql:v3,activemq:v3,wanlida:v3三個鏡像爲mysql-v3.tar.gz,activemq-v3.tar.gz,wanlida-v3.tar.gz

2.傳到遠程服務器

  $ scp localfile username@ip:path  #必定要把docker-compose.yml文件傳到遠程服務器

  或者使用u盤導入:

    $ mkdir 項目目錄  # 例如本文檔實例:/home/mywork

    $ cp mysql-v3.tar.gz,activemq-v3.tar.gz,wanlida-v3.tar.gz /home/mywork  #將三個鏡像壓縮文件導入項目目錄

    $ cp docker-compose.yml /home/mywork  # 將部署項目使用的docker-compose.yml文件導入項目目錄

    $ cp db.tar.gz  /home/mywork  # 將項目使用的數據庫數據包導入項目目錄,此數據包不是直接從數據庫導出的數據庫包

3.解壓鏡像

  $ docker load -i filename.tar.gz

  $ docker images  # 查看本地鏡像

4. 鏡像命名

  $ docker image tag 鏡像ID newname

  本文檔實例:$ docker load -i mysql-v3.tar.gz  # 解壓出的鏡像名字和版本號是none

        $ docker image tag mysql鏡像ID mysql:v3  # 重命名mysql鏡像的名字爲mysql,版本好爲v3,此處命名要與docker-compose.yml部署文件裏的名字一致

5.部署服務

  docker-compose.yml文件內容:  

    version: "3"
      services:
        db:
          image: mysql:v3  # 若是本地沒有鏡像,會默認從docker Hub公共倉庫下載,離線部署時,必須與本地鏡像名和版本號一致
          expose:
            - "3306"
          volumes:
            - ./db:/var/lib/mysql
          ports:
            - "4000:3306"
          depends_on:
            - activemq

        activemq:
          image: activemq:v3
          volumes:
            - ./activeMQ:/var/lib/activeMQ
          stdin_open: yes
          tty: yes
          privileged: yes
          ports:
            - "1885:1884"


        web:
          image: wanlida:v3
          ports:
            - "8080:8080"
          links:
            - db
            - activemq
          depends_on:
            - db

  使用docker-compose方式部署:  # 此方式不能實現服務自動重啓

    1.部署項目

      $ docker-compose up  #必定要在含有docker-compose.yml文件的目錄下執行

    2.查看有哪些服務已經啓動

        $ docker container ls

    3.中止服務

      $ docker-compose down

  使用集羣部署方式:

    1.初始化管理節點

      $ docker swarm init

    2.部署項目

            $ docker stack deploy -c docker-compose.yml ProjectName

    3.查看服務

      $ docker service ls

    4.中止並刪除項目

      $ docker stack rm ProjectName

    5.刪除節點

      $ docker swarm leave --force

四.容器命令

  $ docker container ls  # 查看正在運行的容器

  $ docker container ls -a   #查看全部容器

  $ docker container stop 容器ID   # 中止容器

  $ docker container start 容器ID  # 啓動容器

  $ docker container rm 容器ID  #刪除容器

  $ docker exec -it 容器ID /bin/bash  #進入容器

  $ exit  退出容器

五.鏡像命令

  $ docker images  # 查看全部鏡像

  $ docker image ls  # 查看全部鏡像

  $ docker image tag 鏡像ID newname  # 重命名鏡像

  $ docker image rm 鏡像ID   # 刪除鏡像

  $ socker image prune  # 刪除名字爲none的空閒鏡像

  $ docker save 鏡像ID | gzip > filename.tar.gz  # 打包壓縮鏡像

  $ docker load -i filename.tar.gz  # 解壓鏡像壓縮包

相關文章
相關標籤/搜索