[工具] 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. (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" minutes ago Up minutes my_centos
e5f817480d00 busybox "sh" minutes ago Up minutes zen_goldstine
a1a2f8c2c138 portainer/portainer "/portainer" hours ago Up hours 0.0.0.0:->/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 seconds ago 237MB
leokalezz/my_busybox latest 12edcbaff582 minutes ago .22MB
portainer/portainer latest 10383f5b5720 days ago .6MB
centos latest 470671670cac weeks ago 237MB
busybox latest 6d5fcfe5ff17 months ago .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:
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鈥
portainer/templates App Templates for Portainer http://portainer鈥 17
lihaixin/portainer docker ui [OK]
portainerci/portainer Portainer images automatically created via P鈥
portainer/golang-builder Utility to build Golang binaries. [OK]
greenled/portainer-stack-utils Bash scripts to deploy/undeploy stacks in a 鈥 [OK]
portainer/base Multi-stage build image to create the Portai鈥 [OK]
stefanscherer/portainer Portainer for Windows and some older In鈥
hassioaddons/portainer
softonic/portainer-endpoint Allows auto register all the swarm nodes in 鈥 [OK]
j0nnylester/portainer portainer running on a Raspberry Pi
11384eb/portainer
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 : -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中操作就可以了)
###
最新文章
- deployment与Web应用程序部署
- Html获取经纬度
- 转: Android入门及效率开发
- AOJ 2200 Mr. Rito Post Office
- android eclipse集成环境
- [转]MySQL数据库的热备份
- 《HBase权威指南》读书笔记----简介
- 201521123015 《Java程序设计》第七周学习总结
- freemarker处理哈希表的内建函数
- css知识总结
- .NET平台下使用MongoDB入门教程
- Jsp页面输入中文,MYSQL数据库乱码???问题
- gridview 列头自动适应宽度
- 第一册:lesson sixty seven。
- ABBYY FineReader错误代码142和55
- ==、is
- VC6无法生成Release版本程序
- 【转】 Pro Android学习笔记(九五):AsyncTask(4):执行情况
- HEALTH_WARN too few PGs per OSD (21 <; min 30)解决方法
- UVALIVE 3939 Plucking fruits