一、使用Portainer部署Jenkins

1.在portainer中直接创建容器

portainer怎么修改容器_portainer怎么修改容器


2.创建成功,jenkins正在运行

portainer怎么修改容器_python_02


3.服务器IP:8081访问成功,但需要密码,到服务器上找jenkins提示的目录

portainer怎么修改容器_python_03


4.发现服务器上并没有这个目录

portainer怎么修改容器_portainer怎么修改容器_04


5.使用docker ps -a 查看容器,容器ID为:d1aa3bcf2754

portainer怎么修改容器_portainer怎么修改容器_05


6.使用命令:docker exec -u 0 -it d1aa3bcf2754 /bin/bash,进入容器,再在容器中使用命令查看密码(jenkins上提示的目录):cat /var/jenkins_home/secrets/initialAdminPassword,即可获取jenkins的初始密码了,如下图:

portainer怎么修改容器_portainer怎么修改容器_06


7.解析 docker exec -u 0 -it d1aa3bcf2754 /bin/bash 命令

通过容器ID进入容器,并在jenkins容器开启一个交互模式的终端,如果我们是把jenkins直接安装在服务器上,就可以在服务器上直接用命令查看始终密码,但现在jenkins是装在docker上的,那么就需要进入容器,通过交互的方式来获取密码。

二、后台部署python

1.进入docker镜像站,搜索python

portainer怎么修改容器_docker_07


2.选择版本,随机找了一个python3.8

portainer怎么修改容器_Dockerfile_08


3.进入portainer,使用python:3.8作为镜像名称拉取镜像

portainer怎么修改容器_Dockerfile_09


拉取镜像成功,显示在已安装镜像中

portainer怎么修改容器_docker_10


4.后台查看本地镜像命令:docker images python

portainer怎么修改容器_portainer怎么修改容器_11


5.镜像未使用状态如下,显示Unused

portainer怎么修改容器_Dockerfile_12


6.使用镜像,由于没有找到具体创建容器的方法(在容器中需要填写的数据),所以直接创建了,只选了python:3.8.2的镜像,填写了容器名称:python-test

portainer怎么修改容器_portainer怎么修改容器_13


但是创建出来的容器,一刷新页面又停止了,与之前的mysql一样

portainer怎么修改容器_python_14


7.更换方法,使用Dockerfile的方式创建镜像。在目录~中创建文件夹,用于存放相关东西:mkdir -p ~/python1 ~/python1/myapp

portainer怎么修改容器_docker_15


8.在python1文件夹下创建Dockerfile,直接vim Dockerfile,然后将网上的内容粘贴进去:

portainer怎么修改容器_python_16


9.pull镜像(python 3.5),命令:docker pull python:3.5

portainer怎么修改容器_Dockerfile_17


在portainer中查看,并将python3.8.2镜像删除(需要先删除容器才能删除镜像)

portainer怎么修改容器_portainer怎么修改容器_18


10.通过Dockerfile创建一个新镜像时报错,应该是Dockerfile内容不匹配

portainer怎么修改容器_Dockerfile_19


11.使用mv python1 python命令更名(首先怀疑是不是自己的目录名与Dockerfile中的有冲突,因为教程里是python)

portainer怎么修改容器_Dockerfile_20


12.还是报错,查看Dockerfile,发现第一行应该是FROM,只写了M,修改后再次执行,成功

portainer怎么修改容器_python_21


13.在新建的python目录下创建一个 helloworld.py 文件,代码如下:

#!/usr/bin/python
 print(“Hello, World!”) ;14.执行命令:docker run -v $PWD/myapp:/usr/src/myapp -w /usr/src/myapp python:3.5 python helloworld.py

执行报错,分开执行,如下图:

portainer怎么修改容器_Dockerfile_22