portainer使用二进制文件安装

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: portainer使用二进制文件安装

一.安装portainer

1.1 查看portainer版本信息

版本信息

可在此查看到每个版本的详细信息

1.2 下载文件

下载并将二进制文件

[root@localhost opt]# wget https://github.com/portainer/portainer/releases/download/1.20.1/portainer-1.20.1-linux-amd64.tar.gz
--2019-03-05 13:21:00--  https://github.com/portainer/portainer/releases/download/1.20.1/portainer-1.20.1-linux-amd64.tar.gz
正在解析主机 github.com (github.com)... 13.229.188.59, 52.74.223.119, 13.250.177.223
正在连接 github.com (github.com)|13.229.188.59|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 302 Found
位置:https://github-production-release-asset-2e65be.s3.amazonaws.com/59239347/7e700400-255c-11e9-9e54-5044865ea28f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190305%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190305T052100Z&X-Amz-Expires=300&X-Amz-Signature=d728457eff5f21815f5ca5c64d3bcace5f8b850ecb66d80785f01de9ce4bf383&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dportainer-1.20.1-linux-amd64.tar.gz&response-content-type=application%2Foctet-stream [跟随至新的 URL]
--2019-03-05 13:21:01--  https://github-production-release-asset-2e65be.s3.amazonaws.com/59239347/7e700400-255c-11e9-9e54-5044865ea28f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190305%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190305T052100Z&X-Amz-Expires=300&X-Amz-Signature=d728457eff5f21815f5ca5c64d3bcace5f8b850ecb66d80785f01de9ce4bf383&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dportainer-1.20.1-linux-amd64.tar.gz&response-content-type=application%2Foctet-stream
正在解析主机 github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.132.163
正在连接 github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.132.163|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:21945155 (21M) [application/octet-stream]
正在保存至: “portainer-1.20.1-linux-amd64.tar.gz”

100%[==========================================================================================>] 21,945,155   570KB/s 用时 2m 1s  

2019-03-05 13:23:04 (177 KB/s) - 已保存 “portainer-1.20.1-linux-amd64.tar.gz” [21945155/21945155])

1.3 解压文件

解压缩到磁盘上的某个位置

[root@localhost opt]# tar zxvf portainer-1.20.1-linux-amd64.tar.gz 

[root@localhost opt]# ls
portainer

1.4 新建portainer数据存储目录

Portainer默认会尝试将其数据写入/ data文件夹,但我们可以更改它的数据存储目录

[root@localhost opt]# mkdir /opt/portainer-data

1.5 启动portainer

[root@localhost opt]# cd portainer
[root@localhost portainer]# ls
docker  portainer  public  templates.json

启动portainer
[root@localhost portainer]#  ./portainer --data /opt/portainer-data --template-file "${PWD}/templates.json" &
[1] 7824
[root@localhost portainer]# 2019/03/05 13:49:51 Starting Portainer 1.20.1 on :9000

[root@localhost portainer]# cd /opt/portainer-data/
[root@localhost portainer-data]# ls
bin  compose  config.json  portainer.db  portainer.key  portainer.pub  tls

==注意:==

如果portainer的默认端口9000在你的服务器已经被占用或者不方便使用,也使用该-p标志在另一个端口上为Portainer提供服务:

如下例:

[root@localhost portainer]#  ./portainer --data /opt/portainer-data  -p :8080 --template-file "${PWD}/templates.json" &
[1] 7949

[root@localhost portainer]# 2019/03/05 13:57:37 Templates already registered inside the database. Skipping template import.
2019/03/05 13:57:37 Starting Portainer 1.20.1 on :8080

[root@localhost portainer]# 
[root@localhost portainer]# netstat -lnptu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp6       0      0 :::8080                 :::*                    LISTEN      7949/./portainer

==注意:==

可以在启动容器的时候直接在命令内设置参数,来修改portainer的默认行为,可使用的参数使用./portainer --help命令查看:

[root@localhost portainer]# ./portainer --help
usage: portainer [<flags>]

Flags:
      --help                     Show context-sensitive help (also try --help-long and --help-man).
      --version                  Show application version.
  -p, --bind=":9000"             Address and port to serve Portainer
  -a, --assets="./"              Path to the assets
  -d, --data="/data"             Path to the folder where the data is stored
  -H, --host=HOST                Endpoint URL
      --external-endpoints=EXTERNAL-ENDPOINTS  
                                 Path to a file defining available endpoints
      --no-auth                  Disable authentication
      --no-analytics             Disable Analytics in app
      --tlsverify                TLS support
      --tlsskipverify            Disable TLS server verification
      --tlscacert="/certs/ca.pem"  
                                 Path to the CA
      --tlscert="/certs/cert.pem"  
                                 Path to the TLS certificate file
      --tlskey="/certs/key.pem"  Path to the TLS key
      --ssl                      Secure Portainer instance using SSL
      --sslcert="/certs/portainer.crt"  
                                 Path to the SSL certificate used to secure the Portainer instance
      --sslkey="/certs/portainer.key"  
                                 Path to the SSL key used to secure the Portainer instance
      --sync-interval="60s"      Duration between each synchronization via the external endpoints source
      --snapshot                 Start a background job to create endpoint snapshots
      --snapshot-interval="5m"   Duration between each endpoint snapshot job
      --admin-password=ADMIN-PASSWORD  
                                 Hashed admin password
      --admin-password-file=ADMIN-PASSWORD-FILE  
                                 Path to the file containing the password for the admin user
  -l, --hide-label=HIDE-LABEL ...  
                                 Hide containers with a specific label in the UI
      --logo=LOGO                URL for the logo displayed in the UI
  -t, --templates=TEMPLATES      URL to the templates definitions.
      --template-file="/templates.json"  
                                 Path to the templates (app) definitions on the filesystem

二、portminer模板

portainer中可以自定义一些模板,然后在portainer中创建容器的时候使用这些模块快速的创建,模板是json格式的,包含一些必选项和可选项。

可看见在启动portminer时,添加的一个参数:--template-file "${PWD}/templates.json"
portminer模板便存储在templates.json文件中

摘取一段templates.json文件中的内容为大家解释一下

2.1 portminer模板样例

[root@localhost portainer]# ls
docker  portainer  public  templates.json
[root@localhost portainer]# cat templates.json 
[
  {
    "type": 1,
    "title": "Registry",
    "description": "Docker image registry",
    "categories": ["docker"],
    "platform": "linux",
    "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/registry.png",
    "image": "registry:latest",
    "ports": [
      "5000/tcp"
    ],
    "volumes": [{ "container": "/var/lib/registry"}]
  },
  {
    "type": 1,
    "title": "Nginx",
    "description": "High performance web server",
    "categories": ["webserver"],
    "platform": "linux",
    "logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/nginx.png",
    "image": "nginx:latest",
    "ports": [
      "80/tcp",
      "443/tcp"
    ],
    "volumes": [{"container": "/etc/nginx"}, {"container": "/usr/share/nginx/html"}]
  },

2.2 portminer模板解释


type 必选项,1表示container,2表示swarm stack,3表示compose stack

title 必选项

description 必选项,该镜像描述

image 必选项,该应用使用的docker镜像

administrator_only 可选项,是否只有管理员可用模板

name 可选项,该模板在管理界面中显示的名称

logo 可选项,自定义的logo

registry 可选项,docker镜像的仓库,默认是Dockerhub

command 可选项,容器里面运行的命令,如果没有指定,则默认运行dockerfile的command

network 可选项,模板使用的网络

volumes 可选项,模板使用的volume

ports 可选项,模板exposed的端口

labels 可选项,模板上定义的labels

privileged 可选项,容器是否能在超级权限启动

interactive 可选项,容器启动时是否是交互模式,即添加-i -t

restart_policy 可选项,容器的重启策略

hostname 可选项,容器的主机名

note 可选项,关于模板的信息

platform 可选项,支持的平台,一般是linux或者windows

categories 可选项,模板的类别,可以在UI上通过category来过滤


相关文章
|
Web App开发 Ubuntu Linux
|
10天前
|
Docker 容器
docker命令大全
docker命令大全
|
1月前
|
Docker 容器
Docker【部署 03】一键离线安装Docker的自动化安装脚本分享(安装文件docker-20.10.13.tgz及脚本dockerInstall.sh)
Docker【部署 03】一键离线安装Docker的自动化安装脚本分享(安装文件docker-20.10.13.tgz及脚本dockerInstall.sh)
193 0
|
1月前
|
Java Linux 应用服务中间件
docker编译部署freeswitch-1.10.10
docker编译部署freeswitch-1.10.10
552 0
|
7月前
|
Linux Docker 容器
suse 12 脚本部署docker(二进制文件)
suse 12 脚本部署docker(二进制文件)
68 0
|
9月前
|
应用服务中间件 Shell nginx
Docker命令大全
Docker命令大全
58 1
|
10月前
|
Shell Docker 容器
Docker(一) 常用命令大全
Docker(一) 常用命令大全
125 1
|
应用服务中间件 Docker 容器
docker复制文件
docker复制文件
70 0
|
关系型数据库 MySQL Go
Docker学习-目录
Docker学习-目录
86 0
|
JSON 中间件 Linux
Windows安装Docker
Windows安装Docker
1693 0
Windows安装Docker