Portainer安装成功后,我们试着来拉取镜像。这里我用了三种方式
一、拉取镜像再添加容器
1.安装好portainer后,我们拉取一个镜像,如:mysql的镜像,在images中直接搜索拉取,如下图:
2.镜像拉取成功,会在下方列表处显示
3.进入Containers查看添加的容器
注:完成后,在服务器上运行docker ps看到容器并没有在运行,且刷新页面后容器为停止状态。(后面会提到)
二、直接添加容器
1.以nginx为例,这次我们不拉镜像,直接在App Templates中创建容器,首先选择nginx,如图:
2.填写名称、端口映射等内容,添加容器:3.发现也可以创建成功,并且是一直在运行的,如图:
4.再去镜像列表中看一下,发现已经自动拉取了nginx的镜像,看来直接创建容器这个方法可行,并且更方便
三、后台创建容器
1.由于有时在portainer中创建的容器会失败,所以还是后台创建显的更靠谱一些,以mysql为例。
先在服务器上用命令来运行mysql,由于是第一次使用,所以需要创建mysql的用户名和密码(如果已经有表和数据MYSQL_ROOT_PASSWORD=123456会被忽略):
docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
2.使用:docker ps 可以看到mysql已经在运行了,不过并不是我们之前在protainer中创建的容器mysql-test
3.再回到portainer中,发现又出现了一个新的容器,这个容器是一直在运行的,没有出现停止的现象,如图:
四、连接mysql & nginx
1.使用客户端工具(我用的是Navicat)连接mysql,服务器ip + 3307端口
连接成功,如下图:
2.浏览器访问nginx,服务器ip:8899,访问成功,如下图:
五、过程中遇到坑
汇总一下过程中遇到的一些问题
1.添加容器
其实最开始是在portainer的containers中创建了一个,名叫mysql-test,端口号3307,如图:
但是创建后只要一刷新页面,这个容器就处于停止状态,即使点击start让它运行,再刷新此页面,还是stopped状态,用docker ps查看也没有运行,所以后面使用了在服务器直接安装mysql的方式
2.在拉取镜像时,开始输入mysql,提示不正确,后来才知道需要带上版本号,或latest表示最后一个版本
3.用propainer拉取mysql的镜像成功后,列表中没有显示,但是上一级页面显示有3个镜像了,在列表处搜索mysql后才显示(可能是个bug)
4.由于我们连接成功使用的是另一个mysql的容器(在服务器上使用命令运行镜像后产生的),并不是我之前创建的,所以目前还不是很理解在portainer页面上创建容器的意义(仅指在使用应用上)
且用每使用一次命令就会产生一个新的容器: docker run mysql(难道是每执行一次就是从模板复制一个容器出来?)
Docker(一)阿里云+docker+portainer链接地址:
https://blog.csdn.net/weixin_45967615/article/details/104425991