linux一些工具的安裝(三)

          linux(vmware15   centos7)中Docker安裝 

1、Docker卸載

              1.查看已安裝的docker安裝包          html

$yum list installed|grep docker

執行後的結果

        docker.x86_64                        2:1.12.6-61.git85d7426.el7.centos @extras  
        docker-client.x86_64                 2:1.12.6-61.git85d7426.el7.centos @extras  
        docker-common.x86_64                 2:1.12.6-61.git85d7426.el7.centos @extras 

mysql

           2: 刪除安裝包 linux

yum –y remove docker.x86_64 
yum –y remove docker-client.x86_64
yum –y remove docker-common.x86_64

           3:刪除docker 鏡像git

rm -rf /var/lib/docker

2、Docker安裝

               1: 使用yum命令進行安裝web

yum install -y docker 備註:-y 表示不詢問 使用默認配置進行安裝,等待提示  完畢!

               2.查看是否安裝成功redis

yum list installed | grep docker
備註:命令爲 查看yum安裝完成文件列表 並 篩選docker安裝信息 以下

                

 

             3.啓動docker服務sql

systemclt start docker   
若是上面不行能夠試用()

  sudo systemctl start docker

  sudo systemctl enable docker

             4.驗證是否安裝成功docker

docker version

                                 

3、Docker的一些常規操做命令

               1. 查看docker版本            docker  -v                                      shell

               2. 啓動與中止docker命令數據庫

                        systemctl命令是系統服務管理器指令,它是 service 和 chkconfig 兩個命令組合

         啓動docker :      systemctl       start      docker

                         中止docker :      systemctl       stop      docker

                         重啓docker:       systemctl       restart   docker

                         查看docker狀態    systemctl      status     docker

                         開機啓動:           systemctl       enable   docker

                         查看docker的概要信息:  docker     info   (能夠用於測試docker是否啓動)

                         查看docker命令的幫助文檔 :  docker  --help    

              3.image鏡像相關的操做

                         查看本地鏡像:                       docker      images

                

                         查詢搜索註冊中心中的鏡像 :    docker      search      鏡像的名稱

                                     註釋:原始鏡像通常先來自於官方的註冊中心(相似於Maven的中央倉庫),能夠查詢有沒有須要的鏡像  

                                                記住查詢出來的name的名字便可準備下載

                                                n    NAME   :倉庫名稱

                                                n    DESCRIPTION:鏡像的描述

                                                n    STARS :用戶評價,反應一個鏡像的受歡迎度

                                                n    OFFICIAL :是否官方

                                                AUTOMATED :自動構建,表示該鏡像有Doker Hub自動構建流程建立的    

                         下載拉取鏡像:                        docker     pull        鏡像的名稱(例如:docker  pull  centos:7  )    

                          刪除本地鏡像:                      docker     rmi         鏡像的編號(image id)  /鏡像的名字:版本標記:刪除指定的鏡像

                                                                           docker    rmi         ' docker   images  -q '   刪除全部的鏡像

                          國內鏡像註冊中心的使用

                                     步驟:(1)編輯文件    vi /etc/docker/daemon.json // 若是該文件不存在就手動建立;說明:在centos7.x下,經過vi。

                                                (2)在該文件中添加registry-mirrors鍵值                                             

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

                                                 (3)必定要重啓docker服務:                     systemctl daemon-reload

                                                                                                                       systemctl restart docker

                                                          註解:若是重啓docker後沒法加速,能夠重啓os

                                                                     而後經過docker  pull命令下載鏡像。

 4、Container容器操做 

            1.容器查看

                         查看正在運行的容器:                     docker       ps

                         查看全部的容器(包含中止的):        docker       ps        -a

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

                         查看中止了容器列表:                     docker       ps         -f          status=exited 

            2.建立與啓動容器

                         交互式容器:

                                     步驟:(1)建立一個交互式容器,並取名爲mycentos                                                       

docker  run  -it  --name=mycentos  centos:7.5.1804   /bin/bash

                                           註解:① 若是鏡像centos:7本地沒有下載,自動會到註冊中心尋找,並自動下載。  

                 ②  鏡像的名字若是是官方的前綴名稱空間docker.io,則能夠省略名稱空間,如:docker.io/centos能夠省略爲centos

                                                           ③  /bin/bash至關於windows下的cmd,即容器啓動後,自動進入到容器的命令行了

                                                           ④ 自動進入到容器中的系統

                                                              

 

                                                  (2)退出當前的容器  :使用exit 或者ctrl +d  退出當前的容器

                                                           

                                                            

                      守護式容器:

                                 步驟:(1)建立一個容器命名爲mycentos2

                                               docker  run   -id   --name=mycentos2    centos:7     /bin/bash 

                                          

                                             (2)登陸守護式容器:                             docker exec -it container_name (或者 container_id)  /bin/bash(exit退出時,容器不會中止 )                                             

方式1:使用名字進入 [root@pinyoyougou-docker docker]# docker exec -it mycentos2 /bin/bash [root@2c32a5cb4a71 /]# 方式2:使用id進入 [root@pinyoyougou-docker docker]# docker exec -it 2c32a5cb4a71 /bin/bash [root@2c32a5cb4a71 /]#

                                         

                                        註釋: 

                                               建立並啓動容器命令:docker run

                                                   -i:表示進入容器

              -t:表示容器啓動後會進入其命令行。加入這兩個參數後,容器建立就能登陸進去。即分配一個僞終端。

              --name :爲建立的容器命名,若是不加該參數,則是隨機值,不建議。

              -v:表示目錄映射關係(前者是宿主機目錄,後者是映射到宿主機上的目錄),可使用多個-v作多個目錄或文件映射。注意:最好作目錄映射,在                   宿主機上作修改,而後共享到容器上。

              -d:在run後面加上-d參數,則會建立一個守護式容器在後臺運行(這樣建立容器後不會自動登陸容器,若是隻加-i -t兩個參數,建立後就會自動進去容                   器)。              

                   -p:表示端口映射,前者是宿主機端口,後者是容器內的映射端口。可使用多個-p作多個端口映射

           3.中止和啓動容器

                     中止正在運行時的容器(守護式容器) :                       docker       stop           $CONTAINER_NAME/ID

                         

                    啓動以運行過的容器  :                                           docker     start       $CONTAINER_NAME/ID

                        

                      重啓容器:        docker     restart       docker restart $CONTAINER_NAME/ID

          4.文件拷貝

                    將文件拷貝到容器中:                     docker     cp        須要拷貝的文件或目錄      容器名稱:容器目錄

                    將文件從容器中拷貝出來:              docker     cp        容器名稱:容器目錄         要拷貝的容器或者目錄

                    

           5.目錄(映射)掛在

                    咱們能夠在建立容器的時候,將宿主機的目錄與容器內的目錄進行映射,這樣咱們就能夠經過修改宿主機某個目錄的文件從而去影響容器,建立容器時額外添加-v參數 後邊爲宿主機目錄:容器目錄 

                                   

                   若是你共享的是多級的目錄,可能會出現權限不足的提示。 這是由於CentOS7中的安全模塊selinux把權限禁掉了,咱們須要添加參數 --privileged=true 來解決掛載的目錄沒有權限的問題                 

                 【補充】

                         掛載宿主機已存在目錄後,在容器內對其進行操做,報「Permission denied」。

                         可經過兩種方式解決:

                               1> 以特權方式啓動容器

                                    指定--privileged參數 

如:# docker run -it --privileged=true -v /test:/soft centos /bin/bash docker run -it -v /usr/local/myhtml:/usr/local/myhtml --privileged=true --name=mycentos4 centos:7 /bin/bash

                               2> 關閉selinux

                                     臨時關閉:setenforce 0

                                     永久關閉:修改/etc/selinux/config/etc/sysconfig/selinux文件,將SELINUX的值設置爲disabled。          

 #默認值是enforcing SELINUX=disabled #註釋掉這行(可選) #SELINUXTYPE=targeted

          保存,退出,重啓系統,不想重啓,可使用:setenforce 0 ,使配置當即生效  

           6.查看容器內部的ip

                     要使用容器,須要在外面宿主機器上去映射容器內部ip

                     方法:(1)查看容器運行的各類數據:          docker    inspect          容器的名字          

·                                  

                                 (2)直接輸出容器的ip地址:             docker      inspect       --format='{{.NetworkSettings.IPAddress}}'      容器名稱

           

             7.刪除容器:

                        刪除指定的容器:                docker    rm       $CONTAINER_ID/NAME              注意,只能刪除中止的容器     

                         強制刪除(慎用):              docker   rm    -f      容器的名稱

                         先中止,再刪除:            ① docker     stop       容器名稱         ② docker   rm  容器名稱       ③ docker  ps   -a      查看全部的容器

                         刪除全部的容器:            ① docker     rm     ' docker   ps   -a   -q  '      或者   ② docker     rm      -f    ' docker    ps   -a   -q  '                             

5、Docker中部署一些應用軟件 

              1.MySQL 部署

                     (1)拉取mysql的鏡像

                                   ① docker       pull       mysql:5.7.23     或者  ② docker     pull       mysql:5                                

 

              2.建立mysql容器並映射端口和改密碼                     

docker  run  -di  --name=my_mysql  -p 33306:3306  -e MYSQL_ROOT_PASSWORD=123456 mysql 註解:-p 表明端口映射,格式爲 宿主機映射端口:容器運行端口 -e 表明添加環境變量  MYSQL_ROOT_PASSWORD是root用戶的登錄密碼

              3.進入mysql容器,登陸mysql 

                        進入容器 :                docker   exec    -it     my_mysql    /bin/bash 

                        登陸mysql:               mysql    -u      root     -p

                        註解:mysql8的默認密碼加密策略發生改變,以前的一些客戶端沒法登陸,解決方案:

                                   使用mysql的原生命令進去,使用以前的密碼策略從新修改密碼                                 

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';

#本地登陸(若是用原生的命令行的話,不用改)

                  ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
                  #遠程登陸
                  ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

  6、tomcat部署                            

                 1.拉取tomcat鏡像:                      docker        pull         docker pull tomcat:8.5.34-jre8

                 2.建立tomcat的容器,並映射端口:               

docker run -id --name=my_tomcat -p 9001:8080 -v /usr/local/myhtml:/usr/local/tomcat/webapps tomcat:8.5.34-jre8
                   或者
              docker run -id --name=my_tomcat3 -p 9003:8080 -v /usr/local/myhtml:/usr/local/tomcat/webapps --privileged=true tomcat:8.5.34-jre8

            3.部署web應用

                      將程序拷貝到宿主機的/usr/local/myhtml下面,好比:再創建目錄myapp,裏面編輯一個index.html頁面做爲測試主頁,可能須要修改配置文件,好比mysql的數據庫鏈接ip(是容器內網ip,如:172.17.0.2)等。提示:docker容器之間相似於內部局域網效果,互相之間能夠通訊(測試:地址欄輸入:http://192.168.201.111:9001/myapp

 

 7、redis部署                   

                1.拉取鏡像:          docker pull redis:4.0.11

                2.建立容器:          docker run -di --name=my_redis -p 6379:6379 redis:4.0.11 

                3.測試:                 redis-cli -h 192.168.247.135 –p 6379  (在你的本地電腦命令提示符下,用window版本redis測試)

  8、備份與遷移

            應用場景若是在測試環境下,你配置好的一個鏡像,須要放到正式環境下運行、或者要備份一份,回頭再用、或者要作集羣,弄多份如出一轍的容器。須要將容器打包備份爲本身的鏡像

            1.容器保存爲鏡像:

                   docker commit my_tomcat itcast.cn/tomcat:1.0.1           或者          docker commit my_tomcat mytomcat:1.0.1

            2.鏡像備份:

                   docker save -o itcast_tomcat-1.0.1.tar itcast.cn/tomcat:1.0.1        或者      docker save -o itcasttomcat.tar mytomcat

                   註解:-o 輸出到的文件

                              執行後,運行ls命令便可看到打成的tar包

            3.鏡像回覆 :docker  load  -i  itcast_tomcat1.2.tar    -i 輸入的文件

 

 

     

一些參考的博文  

       https://blog.csdn.net/t594362122/article/details/78642886(1)

       http://www.javashuo.com/article/p-aptrhsrk-dp.html(2)

       http://www.javashuo.com/article/p-axbbfnvx-ec.html(3)

       https://blog.csdn.net/we_shell/article/details/38368137(4)

       https://www.cnblogs.com/qgc1995/archive/2018/08/29/9553572.html

       https://www.cnblogs.com/qinxu/p/10032176.html

相關文章
相關標籤/搜索