四时宝库

程序员的知识宝库

docker随手笔记第十一节 portainer.io安装使用,比k8s简单


docker随手笔记第一节 docker概念及安装

docker随手笔记第二节 docker常用命令解析

docker随手笔记第三节 docker构建java镜像

docker随手笔记第四节 docker安装mysql5.7

docker随手笔记第五节 docker安装redis4.0

docker随手笔记第六节 docker安装jenkins

docker随手笔记第七节 jenkins通过git部署java微服务插件安装

docker随手笔记第八节 jenkins通过git自动部署java微服务

docker随手笔记第九节 docker -v参数 目录挂载总结

docker随手笔记第十节 docker 开启远程访问

portainer介绍

portainer.io是容器管理工具,可以管理多个服务器的docker。可以对容器进行启动,删除,重命名,查看日志,管理镜像等。下面是部分功能的截图。k8s成本比较高,当考虑成本问题,可以先portainer.io


具体功能小伙伴自己研究一下,下面介绍怎么安装和使用

portainer.io的安装

docker安装portainer.io安装很简单,如下

-v /var/run/docker.sock:/var/run/docker.sock 表示管理当前服务器的docker

docker run -d -p 9000:9000 \
 --restart=always \
 -v /var/run/docker.sock:/var/run/docker.sock \
 --name portainer \
 portainer/portainer


访问地址:http://服务器ip:9000

第一次访问的时候,要创建账号密码,如下图



账号密码创建成功后,选择local


点击连接后就进入管理界面了,右边是docker服务器列表

点击local,在点击container,就进入容器的管理,


由于我原本就有docker安装一些容器。所有进来就有docker列表了。上面的那边按钮就是对容器的操作,包括启动,删除,停止,重命名,添加容器。

每个容器还可以查看运行状态,日志,进入容器


portainer.io 添加其他服务器的docker管理

首先要添加的docker容器服务器要开启远程访问,具体操作上节课有讲

docker随手笔记第十节 docker 开启远程访问

接下来是portainer.io配置,如下图

点击左边菜单Endpoints


然后点击添加


配置如下

填写好name,Endpoint URL(远程服务的ip+端口,默认端口2375),Public IP服务器ip,然后点击添加。这就成功了。




portainer + jenkins 版本管理

可以通过jenkins自动部署应用,jenkins每次点击自动构建的时候,会把原有的容器停掉或者删除掉,创建启动新的容器。可以通过portainer查看容器的运行状态和日志,portainer可视化界面挺好用的。

ssh脚本如下,具体章节在docker随手笔记第八节 jenkins通过git自动部署java微服务

d1=$(date "+%Y%m%d%H%M")
name="marketing-sys-api"
appName=$name$d1
port=28001
 
mkdir -p /home/$name
cd /home/$name
 
cp /usr/local/soft/jenkins/jenkins-data/workspace/marketing-java/marketing-sys-api/target/marketing-sys-api-yskj0.01-releases.jar app.jar
 
cat > Dockerfile << EOF
FROM java:8
EXPOSE $port
 
#复制代码包到镜像内
ADD app.jar /app.jar
ENV TZ=Asia/Shanghai
RUN bash -c 'touch /app.jar'
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
ENTRYPOINT ["java","-jar","-D user.timezone=GMT+08","/app.jar"]
EOF
 
docker build -t $name:${ImageVersion} .
 
docker login --username=name --password=pwd url
docker tag $name:${ImageVersion} registry.cn-shenzhen.aliyuncs.com/lifetime/$name:${ImageVersion}
docker push url/$name:${ImageVersion}
 
docker rm -f $(docker ps | grep $name | awk '{print $1}')
docker rmi -f $(docker images | grep $name | awk '{print $3}')
 
docker run --name $appName -d -p $port:$port url/$name:${ImageVersion}

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接