[工具] Docker及Portainer GUI的使用


一、Docker Engine安裝

1.安裝流程

1)移除舊版本(如果有舊版本)

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine
rm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker
rm -rf /var/run/docker
rm -rf /usr/local/docker
rm -rf /etc/docker

2)安裝必要的系統工具

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

3)添加aliyun的源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum clean all
yum makecache fast

4)安裝docker-ce

yum -y install docker-ce

5)啟動服務

systemctl start docker
# 開機自動啟動
systemctl enable docker

6)測試運行docker

docker run hello-world

2.使用docker國內倉庫

1)修改或創建daemon.json配置文件

# vi /etc/docker/daemon.json
{
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

2)重啟服務

systemctl restart docker

3)其他國內鏡像

Docker中國區官方鏡像
https://registry.docker-cn.com

ustc 
https://docker.mirrors.ustc.edu.cn
 
中國科技大學
https://docker.mirrors.ustc.edu.cn

阿里雲容器  服務
https://cr.console.aliyun.com/
首頁點擊“創建我的容器鏡像”  得到一個專屬的鏡像加速地址,類似於“https://1234abcd.mirror.aliyuncs.com”

4)測試

docker run -itd centos /bin/bash
[root@myserver ~]# docker ps
CONTAINER ID        IMAGE              COMMAND            CREATED              STATUS              PORTS              NAMES
f57d4703adc3        centos              "/bin/bash"        About a minute ago  Up About a minute                      jolly_dhawan
[root@myserver ~]# docker exec -it f57d4703adc3 /bin/bash
[root@f57d4703adc3 /]#
[root@f57d4703adc3 /]# cat /etc/RedHat-release
CentOS Linux release 7.6.1810 (Core)
[root@f57d4703adc3 /]#

3.創建鏡像並推送到docker hub

1)去docker hub申請賬號

例如申請的賬號為leokalezz

2)在容器中進行一些修改操作

[root@centos7 ~]# docker exec -it dbd75e2682a8 /bin/bash
[root@dbd75e2682a8 /]# echo "hello" > data.txt
[root@dbd75e2682a8 /]# ls
bin  data.txt  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

3)制作鏡像

[root@centos7 ~]# docker ps
CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS              PORTS                    NAMES
dbd75e2682a8  centos                "/bin/bash"         2 minutes ago       Up 2 minutes                                 my_centos
e5f817480d00        busybox               "sh"                19 minutes ago      Up 19 minutes                                zen_goldstine
a1a2f8c2c138        portainer/portainer   "/portainer"        2 hours ago         Up 2 hours          0.0.0.0:9001->9000/tcp   my_portainer
[root@centos7 ~]# docker commit -m 'test' dbd75e2682a8 leokalezz/leo_centos
sha256:1391b7a85a6b35b29db41e640b0eb7802fffade21876db32f420f6bd84c2c3f1
[root@centos7 ~]# docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
leokalezz/leo_centos   latest              1391b7a85a6b        14 seconds ago      237MB
leokalezz/my_busybox   latest              12edcbaff582        19 minutes ago      1.22MB
portainer/portainer    latest              10383f5b5720        12 days ago         78.6MB
centos                 latest              470671670cac        6 weeks ago         237MB
busybox                latest              6d5fcfe5ff17        2 months ago        1.22MB

leokalezz/leo_centos是我們制作的鏡像。leokalezz是在docker hub上申請的賬號。

4)推送鏡像到自己的倉庫

先登錄docker:

[root@centos7 ~]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: leokalezz
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

然后推送:

[root@centos7 ~]# docker push leokalezz/leo_centos
The push refers to repository [docker.io/leokalezz/leo_centos]
482b086d215e: Pushed 
0683de282177: Mounted from library/centos 
latest: digest: sha256:3476790ea9bcd7aeac10f9cbdf2059a1878365d20134083b3c8d3668ef49dda1 size: 736

5)查看推送的鏡像

 

二、安裝和使用Portainer GUI

1.搜索portainer鏡像

[root@centos7 ~]# docker search portainer
NAME                             DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
portainer/portainer              Making Docker management easy. https://porta鈥  1573                                    
portainer/agent                  An agent used to manage all the resources in鈥  54                                      
portainer/templates              App Templates for Portainer http://portainer鈥  17                                      
lihaixin/portainer               docker ui                                       11                                      [OK]
portainerci/portainer            Portainer images automatically created via P鈥  4                                       
portainer/golang-builder         Utility to build Golang binaries.               4                                       [OK]
greenled/portainer-stack-utils   Bash scripts to deploy/undeploy stacks in a 鈥  3                                       [OK]
portainer/base                   Multi-stage build image to create the Portai鈥  2                                       [OK]
stefanscherer/portainer          Portainer for Windows 1809 and some older In鈥  2                                       
hassioaddons/portainer                                                           1                                       
softonic/portainer-endpoint      Allows auto register all the swarm nodes in1                                       [OK]
j0nnylester/portainer            portainer running on a Raspberry Pi             1                                       
11384eb/portainer                                                                0                                       

2.拉取portainer的image

docker pull portainer/portainer

3.運行Portainer

1)運行之前先關閉selinux

selinux sed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config

2)為portainer創建一個volume(也可以不創建)

docker volume create portainer_volume

3)啟動portainer容器

docker run --name=my_portainer -d -p 9001:9001 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_volume:/data portainer/portainer

該容器命名為my_portainer,將容器中portainer默認端口9000,映射到宿主機端口9001,使用socket映射 /var/run/docker.sock:/var/run/docker.sock,指定volume映射(即將portainer_volume對應的宿主機目錄掛載到容器的/data目錄),容器基於portainer/portainer鏡像啟動。

4.使用portainer

1)使用瀏覽器訪問http://宿主機IP:9001

第一次登陸,會讓我們設置密碼。

2)選擇local模式

 

由於portainer支持local、remote、agent等形式來管理docker容器。我們這里是為了管理本地的docker容器,所以選擇第一個local。

如果要管理其他機器的docker容器,或者docker集群,則可以選擇后面的對應模式。

3)查看我們管理下的endpoint

 

portainer可以同時管理多個endpoints,包括本地或遠程的。這里我們只有本地的endpoint。

4)查看endpoint中所有的信息

點擊local endpoint進入管理頁面:

 

可以看到該頁面包含該endpoint幾乎所有的信息,其中有鏡像信息、容器信息、容器網絡、volume等,並且提供操作。(有時候可能操作會報錯,這時再去CMD中操作就可以了)

 

###

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM