docker-compose部署容器可视化管理平台portainer

2023-12-20 19:50:58

一、安装docker

docker--安装docker-ce-CSDN博客

二、安装docker-compose

安装docker-compose-CSDN博客

三、docker-compose部署portainer

yml文件,需要开放9000端口

[root@lgb /]# vi /opt/docker-compose-yml/portainer/docker-compose.yml
version: "3"
services:
  portainer:
    image: portainer/portainer:latest
    container_name: portainer
    ports:
    - "9000:9000"
    volumes:
    - /app/portainer/data:/data
    - /var/run/docker.sock:/var/run/docker.sock

?切换到docker-compose.yml所在目录启动

[root@lgb portainer]# pwd
/opt/docker-compose-yml/portainer
[root@lgb portainer]# ls
docker-compose.yml

[root@lgb portainer]# docker-compose -f docker-compose.yml up

?访问IP:9000,默认没有系统账号,需要新设置密码,不少于8位数。登录后,选择本地local

注意需要在五分钟内访问并注册admin用户,否则容器会自动停止,如果错过时间请使用docker-compose??-f docker-compose.yml restart

另外,需要注意的两个docker-compose命令

#容器停止删除所有数据
docker-compose -f docker-compose.yml down

#容器停止但不会删除数据,使用restart可以重启容器,且数据仍然存在
docker-compose -f docker-compose.yml stop

四、portainer新建nginx容器

4.1拉取镜像

4.2创建容器

Add cantainer

创建nginx容器,端口映射为主机9001:容器80

创建成功?

9001端口访问测试

?也可以通过终端查看

[root@lgb /]# docker ps
CONTAINER ID   IMAGE                        COMMAND                  CREATED             STATUS             PORTS                                       NAMES
7aa4717f61df   nginx:latest                 "/docker-entrypoint.…"   5 minutes ago       Up 5 minutes       0.0.0.0:9001->80/tcp, :::9001->80/tcp       nginx
76ee8a00f17d   portainer/portainer:latest   "/portainer"             About an hour ago   Up About an hour   0.0.0.0:9000->9000/tcp, :::9000->9000/tcp   portainer

?stop一下然后重启restart,仍然可以用就账户登录,挂载数据/app/portainer/data仍然存在,说明数据保留。

[root@lgb portainer]# docker-compose -f docker-compose.yml stop
[+] Stopping 1/1
 ? Container portainer  Stopped                                                                                                                                                                                                                                           0.1s 

[root@lgb portainer]# docker-compose -f docker-compose.yml restart
[+] Restarting 1/1
 ? Container portainer  Started  

?查看挂载目录/app/portainer/data

[root@lgb portainer]# ls /app/portainer/data
bin  compose  config.json  portainer.db  portainer.key  portainer.pub  tls

?解释一下目录挂载 /var/run/docker.sock:/var/run/docker.sock

挂载/var/run/docker.sock文件是被被映射到了容器内,有以下两个作用:

1.在容器内只要向/var/run/docker.sock发送http请求就能和Docker Daemon通信。

2.如果容器内有docker文件,那么在容器内执行docker ps、docker port这些命令,和在宿主机上执行的效果是一样的,因为它们的请求发往的是同一个docker daemon;

参考:

Docker-compose离线安装_离线安装docker-compose-CSDN博客

Docker图形化界面工具Portainer最佳实践-CSDN博客

关于/var/run/docker.sock那些事儿-CSDN博客

文章来源:https://blog.csdn.net/weixin_48878440/article/details/135087294
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。