国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

2018年第48周-centos7下的docker的安裝及常用命令

lemon / 2604人閱讀

摘要:下圖是與其他虛擬技術的對比圖。的目標是,基于這個目標,將你需要發布的應用組件及需要的環境配置都封裝成一個鏡像,然后基于鏡像創建容器并啟動運行。這樣就可以達到組建級別的一次封裝,多次運行。而默認情況下,屬于用戶,需要權限才能訪問。

docker玩過很多次,但每次都是從零開始,所以這次而打算記錄下來,方便后面查詢。
docker的技術基礎是LXC虛擬化技術,虛擬化技術有很多,有硬件層面和軟件層面的,我在
2018年第13周-虛擬化技術理解大概有描述。其中LXC就是軟件層面的虛擬化技術。其內存利用率很高,這是因為所有虛擬機(在docker里叫Container)都共享宿主的操作系統實例,,不存在由于運行多個操作系統實例所造成的性能損耗。下圖是docker與其他虛擬技術的對比圖。

Docker的目標是“Build, Ship and Run Any App, Anywhere”,基于這個目標,將你需要發布的應用組件及需要的環境配置都封裝成一個image(鏡像),然后基于鏡像創建Container(容器)并啟動運行。這樣就可以達到組建級別的一次封裝,多次運行。是不是跟JVM很像,一次編譯,多處運行。

安裝準備 卸載歷史版本

歷史本版的Docker可能被叫為docker或docker-engine. 如果它們有安裝 ,卸載它以及它們的依賴. 命令如下:

$ sudo yum remove docker 
                  docker-client 
                  docker-client-latest 
                  docker-common 
                  docker-latest 
                  docker-latest-logrotate 
                  docker-logrotate 
                  docker-selinux 
                  docker-engine-selinux 
                  docker-engine

/var/lib/docker/目錄里的內容將被保留, 以及images, containers, volumes, 和networks將會被保留.
Docker CE包現在叫 docker-ce

安裝Docker CE

你可以從很多地方安裝Docker CE, 這取決于你的需求:

很多用戶設置Docker的yum倉庫, 然后安裝docker, 這樣容易安裝和升級. 推薦此方法.

有些用戶下載ROM包, 并手工安裝和手工管理升級. 這種方法對于那些無法連上網的服務器是很有用的.

在測試和開發環境, 有些用戶選擇自動方便的腳本來安裝docker.

從倉庫安裝

在安裝Docker CE之前, 你需要設置Docker的yum倉庫. 然后在安裝.

設置倉庫

安裝需要的包. yum-utils提供yum-config-manager工具, devicemapper存儲驅動則需要device-mapper-persistent-data和lvm2

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

我centos7系統安裝時選擇的SOFTWARE SELECTION是Infrastuctue Server (Server for operating network infrastuctue Server)

[root@amd usb]# sudo yum install -y yum-utils 
>   device-mapper-persistent-data 
>   lvm2
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.lzu.edu.cn
 * extras: mirrors.zju.edu.cn
 * updates: mirrors.zju.edu.cn
Package yum-utils-1.1.31-46.el7_5.noarch already installed and latest version
Package device-mapper-persistent-data-0.7.3-3.el7.x86_64 already installed and latest version
Package 7:lvm2-2.02.177-4.el7.x86_64 already installed and latest version
Nothing to do

使用以下命令設置stable倉庫, 就算你想安裝edgetest倉庫, 也還是得安裝stable倉庫.

sudo yum-config-manager 
    --add-repo 
    https://download.docker.com/linux/centos/docker-ce.repo
[root@amd usb]# sudo yum-config-manager 
>     --add-repo 
>     https://download.docker.com/linux/centos/docker-ce.repo
Loaded plugins: fastestmirror, langpacks
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo

可選: 啟動edgetest倉庫, 這些倉庫都是包含在docker.repo文件, 只是默認是關閉的.

$ sudo yum-config-manager --enable docker-ce-edge
$ sudo yum-config-manager --enable docker-ce-test

通過yum-config-manager命令關閉edgetest倉庫.

 sudo yum-config-manager --disable docker-ce-edge
安裝Docker CE

安裝最新版本的Docker CE, 或者參考下一步可指定版本:

 sudo yum install docker-ce

如果需要確認GPG key, 確認fingerprint是否匹配060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35, 匹配上了則確認

多個docker庫的情況下  
如果你有多個docker庫啟用了, 而且安裝或升級時不指定版本, 那么yum install或yum update命令則總會安裝盡可能高的版本, 這也許不符合你穩定的要求.
到此位置, docker已經安裝, 但還未啟動. Linux的docker group也創建了, 但沒有users在這組里.
安裝過程:
[root@amd ~]# sudo yum install docker-ce 
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.lzu.edu.cn
 * extras: mirrors.zju.edu.cn
 * updates: mirrors.zju.edu.cn
base                                                                                                                                                                                          | 3.6 kB  00:00:00     
docker-ce-stable                                                                                                                                                                              | 2.9 kB  00:00:00     
epel                                                                                                                                                                                          | 3.2 kB  00:00:00     
extras                                                                                                                                                                                        | 3.4 kB  00:00:00     
updates                                                                                                                                                                                       | 3.4 kB  00:00:00     
(1/2): epel/x86_64/updateinfo                                                                                                                                                                 | 935 kB  00:00:05     
(2/2): epel/x86_64/primary                                                                                                                                                                    | 3.6 MB  00:00:14     
epel                                                                                                                                                                                                     12742/12742
Resolving Dependencies
--> Running transaction check
---> Package docker-ce.x86_64 0:18.06.1.ce-3.el7 will be installed
--> Processing Dependency: container-selinux >= 2.9 for package: docker-ce-18.06.1.ce-3.el7.x86_64
--> Processing Dependency: libcgroup for package: docker-ce-18.06.1.ce-3.el7.x86_64
--> Processing Dependency: libltdl.so.7()(64bit) for package: docker-ce-18.06.1.ce-3.el7.x86_64
--> Running transaction check
---> Package container-selinux.noarch 2:2.68-1.el7 will be installed
--> Processing Dependency: policycoreutils-python for package: 2:container-selinux-2.68-1.el7.noarch
---> Package libcgroup.x86_64 0:0.41-15.el7 will be installed
---> Package libtool-ltdl.x86_64 0:2.4.2-22.el7_3 will be installed
--> Running transaction check
---> Package policycoreutils-python.x86_64 0:2.5-22.el7 will be installed
--> Processing Dependency: setools-libs >= 3.3.8-2 for package: policycoreutils-python-2.5-22.el7.x86_64
--> Processing Dependency: libsemanage-python >= 2.5-9 for package: policycoreutils-python-2.5-22.el7.x86_64
--> Processing Dependency: audit-libs-python >= 2.1.3-4 for package: policycoreutils-python-2.5-22.el7.x86_64
--> Processing Dependency: python-IPy for package: policycoreutils-python-2.5-22.el7.x86_64
--> Processing Dependency: libqpol.so.1(VERS_1.4)(64bit) for package: policycoreutils-python-2.5-22.el7.x86_64
--> Processing Dependency: libqpol.so.1(VERS_1.2)(64bit) for package: policycoreutils-python-2.5-22.el7.x86_64
--> Processing Dependency: libapol.so.4(VERS_4.0)(64bit) for package: policycoreutils-python-2.5-22.el7.x86_64
--> Processing Dependency: checkpolicy for package: policycoreutils-python-2.5-22.el7.x86_64
--> Processing Dependency: libqpol.so.1()(64bit) for package: policycoreutils-python-2.5-22.el7.x86_64
--> Processing Dependency: libapol.so.4()(64bit) for package: policycoreutils-python-2.5-22.el7.x86_64
--> Running transaction check
---> Package audit-libs-python.x86_64 0:2.8.1-3.el7_5.1 will be installed
---> Package checkpolicy.x86_64 0:2.5-6.el7 will be installed
---> Package libsemanage-python.x86_64 0:2.5-11.el7 will be installed
---> Package python-IPy.noarch 0:0.75-6.el7 will be installed
---> Package setools-libs.x86_64 0:3.3.8-2.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================================================================================================================================================
 Package                                                   Arch                                      Version                                               Repository                                           Size
=====================================================================================================================================================================================================================
Installing:
 docker-ce                                                 x86_64                                    18.06.1.ce-3.el7                                      docker-ce-stable                                     41 M
Installing for dependencies:
 audit-libs-python                                         x86_64                                    2.8.1-3.el7_5.1                                       updates                                              75 k
 checkpolicy                                               x86_64                                    2.5-6.el7                                             base                                                294 k
 container-selinux                                         noarch                                    2:2.68-1.el7                                          extras                                               36 k
 libcgroup                                                 x86_64                                    0.41-15.el7                                           base                                                 65 k
 libsemanage-python                                        x86_64                                    2.5-11.el7                                            base                                                112 k
 libtool-ltdl                                              x86_64                                    2.4.2-22.el7_3                                        base                                                 49 k
 policycoreutils-python                                    x86_64                                    2.5-22.el7                                            base                                                454 k
 python-IPy                                                noarch                                    0.75-6.el7                                            base                                                 32 k
 setools-libs                                              x86_64                                    3.3.8-2.el7                                           base                                                619 k

Transaction Summary
=====================================================================================================================================================================================================================
Install  1 Package (+9 Dependent packages)

Total size: 42 M
Installed size: 46 M
Is this ok [y/d/N]: y
Downloading packages:
warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-18.06.1.ce-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
Retrieving key from https://download.docker.com/linux/centos/gpg
Importing GPG key 0x621E9F35:
 Userid     : "Docker Release (CE rpm) "
 Fingerprint: 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
 From       : https://download.docker.com/linux/centos/gpg
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libcgroup-0.41-15.el7.x86_64                                                                                                                                                                     1/10 
  Installing : audit-libs-python-2.8.1-3.el7_5.1.x86_64                                                                                                                                                         2/10 
  Installing : setools-libs-3.3.8-2.el7.x86_64                                                                                                                                                                  3/10 
  Installing : libtool-ltdl-2.4.2-22.el7_3.x86_64                                                                                                                                                               4/10 
  Installing : python-IPy-0.75-6.el7.noarch                                                                                                                                                                     5/10 
  Installing : checkpolicy-2.5-6.el7.x86_64                                                                                                                                                                     6/10 
  Installing : libsemanage-python-2.5-11.el7.x86_64                                                                                                                                                             7/10 
  Installing : policycoreutils-python-2.5-22.el7.x86_64                                                                                                                                                         8/10 
  Installing : 2:container-selinux-2.68-1.el7.noarch                                                                                                                                                            9/10 
setsebool:  SELinux is disabled.
  Installing : docker-ce-18.06.1.ce-3.el7.x86_64                                                                                                                                                               10/10 
  Verifying  : libcgroup-0.41-15.el7.x86_64                                                                                                                                                                     1/10 
  Verifying  : docker-ce-18.06.1.ce-3.el7.x86_64                                                                                                                                                                2/10 
  Verifying  : policycoreutils-python-2.5-22.el7.x86_64                                                                                                                                                         3/10 
  Verifying  : libsemanage-python-2.5-11.el7.x86_64                                                                                                                                                             4/10 
  Verifying  : 2:container-selinux-2.68-1.el7.noarch                                                                                                                                                            5/10 
  Verifying  : checkpolicy-2.5-6.el7.x86_64                                                                                                                                                                     6/10 
  Verifying  : python-IPy-0.75-6.el7.noarch                                                                                                                                                                     7/10 
  Verifying  : libtool-ltdl-2.4.2-22.el7_3.x86_64                                                                                                                                                               8/10 
  Verifying  : setools-libs-3.3.8-2.el7.x86_64                                                                                                                                                                  9/10 
  Verifying  : audit-libs-python-2.8.1-3.el7_5.1.x86_64                                                                                                                                                        10/10 

Installed:
  docker-ce.x86_64 0:18.06.1.ce-3.el7                                                                                                                                                                                

Dependency Installed:
  audit-libs-python.x86_64 0:2.8.1-3.el7_5.1    checkpolicy.x86_64 0:2.5-6.el7                container-selinux.noarch 2:2.68-1.el7    libcgroup.x86_64 0:0.41-15.el7       libsemanage-python.x86_64 0:2.5-11.el7   
  libtool-ltdl.x86_64 0:2.4.2-22.el7_3          policycoreutils-python.x86_64 0:2.5-22.el7    python-IPy.noarch 0:0.75-6.el7           setools-libs.x86_64 0:3.3.8-2.el7   

Complete!

指定版本安裝Docker CE, 首先先列出倉庫有哪些docker-ce版本, 然后在選擇安裝

a. 列出并排序有哪些版本在倉庫里, 以下是例子, 從高級到低級.

[root@amd ~]#  yum list docker-ce --showduplicates | sort -r
 * updates: mirrors.zju.edu.cn
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror, langpacks
Installed Packages
 * extras: mirrors.zju.edu.cn
docker-ce.x86_64            18.06.1.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.06.1.ce-3.el7                   @docker-ce-stable
docker-ce.x86_64            18.06.0.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.03.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            18.03.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.12.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.12.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.09.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.09.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.06.2.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.06.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.06.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.03.3.ce-1.el7                   docker-ce-stable 
docker-ce.x86_64            17.03.2.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable 
 * base: mirror.lzu.edu.cn
Available Packages

這列表內容取決于哪個倉庫被啟動, 并且指定了你CentOS版本(在這例子里是.el7)
b. 安裝指定版本, 需指定全限定包名, 也就是包名(docker-ce)加版本字符串(第2列), 以橫杠(-)隔開, 例如: docker-ce-18.03.0.ce

sudo yum install docker-ce-

Dokcer

到此位置, docker已經安裝, 但還未啟動. Linux的docker group也創建了, 但沒有users在這組里.

啟動Docker

$ sudo systemctl start docker

驗證Docker是否安裝正確, 我們運行個hello-world鏡像

sudo docker run hello-world

此命令會下載一個test鏡像, 然后運行在一個容器里, 當容器運行時, 它會輸出信息, 然后退出.

Docker CE已經安裝并且運行著, 你需要用sudo在運行Docker. 可以繼續教程Linux postinstall 來運行沒有權限的用戶運行Docker命令.

升級Docker-CE

就在yum中直接選擇新版本安裝即可

docker操作 查詢鏡像
docker search centos
下載鏡像
docker pull centos
本地鏡像列表
docker images
啟動centos并進入bash
docker run -ti centos /bin/bash
查看所有容器情況
docker ps -a
使用宿主的所有網絡信息的啟動docker
docker run -tid  --name  can_download --net host centos /bin/bash
創建bridge的網關
 docker run -tid  --name my-net-centos --network my-net centos /bin/bash
指定bridge的網關  連接后臺運行的container
docker exec -it my-net-centos /bin/bash
宿主與container傳輸文件
docker cp jdk-8u172-linux-x64.tar.gz f858312b67c20f1ff5303ae8f8333133c8791d434ee30c0e3395ccfb6b345d4f:/root/jdk-8u172-linux-x64.tar.gz
TroubleShoot 管理權限
nescafe@nescafe-PC:~$ docker images
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.38/images/json: dial unix /var/run/docker.sock: connect: permission denied
原因

摘自docker mannual上的一段話

Manage Docker as a non-root user
The docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can only access it using sudo. The docker daemon always runs as the root user.
If you don’t want to use sudo when you use the docker command, create a Unix group called docker and add users to it. When the docker daemon starts, it makes the ownership of the Unix socket read/writable by the docker group.
大概的意思就是:docker進程使用Unix Socket而不是TCP端口。而默認情況下,Unix socket屬于root用戶,需要root權限才能訪問。
解決方法1

使用sudo獲取管理員權限,運行docker命令

解決方法2

docker守護進程啟動的時候,會默認賦予名字為docker的用戶組讀寫Unix socket的權限,因此只要創建docker用戶組,并將當前用戶加入到docker用戶組中,那么當前用戶就有權限訪問Unix socket了,進而也就可以執行docker相關命令

sudo groupadd docker     #添加docker用戶組
sudo gpasswd -a $USER docker     #將登陸用戶加入到docker用戶組中
newgrp docker     #更新用戶組
docker ps    #測試docker命令是否可以使用sudo正常使用

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27582.html

相關文章

  • 2018年第49-dnsmasq安裝(docker方式)

    摘要:在開發或測試環境可能有大量服務器數據庫應用服務器中間件服務器等特別大數據系統涉及的服務器很多的時候很難記就算修改本機但每次新增刪除一個對于的域名都是很麻煩的于是搭建一個就非常必須了這里使用無侵入式的搭建服務不要時刪除即可新建三個文件在宿主新 在開發或測試環境, 可能有大量服務器, 數據庫, 應用服務器, 中間件服務器等. 特別大數據系統, 涉及的服務器很多的時候, ip很難記, 就算修...

    Yuanf 評論0 收藏0
  • 2018年第33-javeer對nodejs體會

    摘要:流程源處理源代碼,例如過濾任何值。工藝類從編譯后處理生成的文件,例如對類進行字節碼增強。整合后的測試執行集成測試后執行所需的操作。校驗運行任何檢查以驗證包裝是否有效并符合質量標準。 nodejs和es6 nodejs的語法和es6不一樣,如模塊系統,一個是CommonJS的require、一個是es6的import,寫模塊也不一樣。 nodejs的npm 我來理解,nodejs類似與j...

    xiongzenghui 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<