docker可视化管理portainer

烂漫一生 提交于 2020-11-19 23:54:34

使用场景一:一台服务上有多个应用,根据需要启动、关闭指定的一个或多个应用。

使用场景二:将开发环境制作成镜像,上线时直接使用镜像快速部署。

这里以场景一为例.

使用的操作系统使centos7.x

1、docker的安装启动关闭

systemctl stop docker.service
systemctl start docker.service

 

2、安装运行docker的可视化管理工具portainer

docker search portainer

docker pull portainer/portainer

docker volume create portainer_data

// --privileged=true是授予挂载的权限
// -v前面的目录是宿主机目录,后面的目录是容器内目录
// -p 20000:9000 前面的端口号是外部访问使用的,后面的端口号为容器内部的.
// portainer的默认端口为9000
docker run -d --name portainer --privileged=true -p 20000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

访问http://ip:20000即可访问portainer,设置密码即可登陆portainer。

 

3、拉取tomcat7.0.75的docker镜像、运行tomcat7.0.75的容器

docker pull tomcat:7.0.75

// 在宿主机中创建一个目录/docker/gemini_manage,用于存放war包或springboot的jar包。

// -v /docker/gemini_manage/:/usr/local/tomcat/webapps/ 将宿主机的/docker/gemini_manage/目录映射到容器的/usr/local/tomcat/webapps/目录

// 20001:8080 宿主机的20001端口映射到docker容器的8080端口

docker run --privileged=true -v /docker/gemini_manage/:/usr/local/tomcat/webapps/ -p 20001:8080 tomcat:7.0.75

 

4、docker容器内安装命令、安装jdk

// 更新
apt-get update
// 安装vi
apt install vim
// 安装wget
apt install weget
// yum
apt install yum
// ifconfig
apt install net-tools
// ping
apt install iputils-ping

// 安装openjdk1.8

近日因为Oracle Java更改了协议,导致Debian下Java源出现问题,安装时出现错误:
Package 'openjdk-8-jdk' has no installation candidate 或
E: Unable to locate package openjdk-8-jdk
解决:
改用Amazon的openjdk发行版。
Amazon Corretto 是开放 Java 开发工具包 (OpenJDK) 的免费、多平台、生产就绪型发行版。

wget https://corretto.aws/downloads/latest/amazon-corretto-8-x64-linux-jdk.deb

//找到java安装路径

which java

apt-get update 
apt-get install java-common
dpkg --install amazon-corretto-8-x64-linux-jdk.deb

openjdk1.8安装完成后,这里可以不设置环境变量,等下我们在tomcat里面设置java环境变量。

 

5、修改tomcat7.0.75镜像

tomcat:7.0.75这个使官方镜像,默认用的openjdk1.7,我们需要改成openjdk1.8。

// 查看tomcat7.0.75的容器Id
docker ps -a

// 进入容器
docker exec -it 容器id bash
 

修改tomcat的配置文件,在catalina.sh文件和setclasspath.sh文件开头的空白处加上如下两句(指定JDK):
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto
export JRE_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto/jre

 

// 退出容器
exit

 

// 根据某个“容器 ID”来提交为一个新的镜像 
docker commit 容器id mytomcat:1.2

 

// 通过mytomcat:1.2这个镜像启动容器

docker run --privileged=true -v /docker/gemini_manage/:/usr/local/tomcat/webapps/ -p 20001:8080 mytomcat:1.2

这时就可以在portainer管理工具中启动、关闭这个容器了。

通过http://ip:20001即可访问宿主机/docker/gemini_manage/目录下的应用。

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!