学习使用Docker

embedded/2024/9/24 13:29:35/

学习使用Docker

目录

  • 学习使用Docker
    • 安装环境
    • 创建镜像
      • 创建镜像指令
      • 查看镜像指令
      • 导出镜像指令
    • 部署portainer
    • 阿里云服务器

安装环境

windows下安装docker desktop

创建镜像

  1. 特定tomcat版本war包镜像
# FROM openjdk:8-jdk
FROM dockerproxy.net/library/openjdk:8-jdk# 设置时区环境变量
ENV TZ=Asia/Shanghai
ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $CATALINA_HOME/bin:$PATHRUN mkdir -p "$CATALINA_HOME"
WORKDIR $CATALINA_HOME# 下载并安装特定版本的 Tomcat
RUN curl -jkSL https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.99/bin/apache-tomcat-7.0.99.tar.gz -o tomcat.tar.gz \&& tar -xvf tomcat.tar.gz --strip-components=1 \&& rm tomcat.tar.gzEXPOSE 8080
EXPOSE 9211/udp
EXPOSE 8210
EXPOSE 8211
EXPOSE 8212# 删除Tomcat默认应用
RUN rm -rf /usr/local/tomcat/webapps/*# 复制您的WAR文件到webapps目录
ADD SignalListenServer_k04.m07.s12.24.09.18.war /usr/local/tomcat/webapps/SignalListenServer.war# 启动Tomcat
CMD ["catalina.sh", "run"]
  1. 包含配置文件的dockerfile
FROM dockerproxy.net/library/openjdk:16-jdk
WORKDIR /appCOPY ./CleanRobotsConnServices-1.5.20240917.1-jar-with-dependencies.jar app.jar
COPY ./config.xml config.xmlEXPOSE 8110VOLUME /app/data# 在ENTRYPOINT中指定配置文件的位置
ENTRYPOINT ["java", "-jar", "app.jar", "-Dconfig.file=/app/config.xml"]
  1. vue工程发布为docker
# 使用官方 Nginx 镜像作为基础镜像
FROM dockerproxy.net/library/nginx:stable-alpine# 将构建好的文件复制到 Nginx 服务目录
COPY dist /usr/share/nginx/html# 暴露80端口
EXPOSE 80# 启动 Nginx 服务
CMD ["nginx", "-g", "daemon off;"]

创建镜像指令

docker build -t xxx.war:v2024090501 .

查看镜像指令

docker images

导出镜像指令

docker save cleanrobotservice:v1.10 > docker_cleanrobotservice_v1.10.tar

部署portainer

  • 下载 https://www.portainer.io/install
  • 安装使用文档:https://docs.portainer.io/start/install-ce/server/docker/wcs
  • 访问portainer:http://ip:9000

阿里云服务器

轻量应用服务器 Alibaba Cloud Linux 3系统

dockerPortainer_89">部署docker和Portainer

  1. 添加docker ce源
sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. 安装DNF插件
sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus
  1. 安装Docker
sudo dnf -y install docker-ce --nobest
  1. 启动并启用docker服务
sudo systemctl start docker
sudo systemctl enable docker
  1. [关闭并禁用docker服务]
sudo systemctl stop docker
sudo systemctl disable docker
  1. 设置阿里云代理[必需,不然不能安装成功,如果代理连接不对,直接找阿里云技术支持]
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://fcapscug.mirror.aliyuncs.com"]
}
EOFsudo systemctl daemon-reloadsudo systemctl restart docker
  1. 拉取Portainer
docker pull portainer/portainer-ce:latest
  1. 安装并运行Portainer
docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
  1. 设置防火墙,允许8000和9000端口
sudo firewall-cmd --zone=public --add-port=8000/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9000/tcp --permanent
sudo firewall-cmd --reload
  1. 阿里云服务器控制台防火墙添加端口映射
    完成

http://www.ppmy.cn/embedded/116109.html

相关文章

【深度】为GPT-5而生的「草莓」模型!从快思考—慢思考到Self-play RL的强化学习框架

原创 超 超的闲思世界 2024年09月11日 19:17 北京 9月11日消息&#xff0c;据外媒The Information昨晚报道&#xff0c;OpenAI的新模型「草莓」&#xff08;Strawberry&#xff09;&#xff0c;将在未来两周内作为ChatGPT服务的一部分发布。 「草莓」项目是OpenAI盛传已久的…

文档矫正算法:DocTr++

文档弯曲矫正&#xff08;Document Image Rectification&#xff09;的主要作用是在图像处理领域中&#xff0c;对由于拍摄、扫描或打印过程中产生的弯曲、扭曲文档进行校正&#xff0c;使其恢复为平整、易读的形态。 一. 论文和代码 论文地址&#xff1a;https://arxiv.org/…

[leetcode刷题]面试经典150题之5多数元素元素(简单)【附Boyer-Moore 投票算法(摩尔投票法)】

很有意思的一个题&#xff0c;想了半天没想出来&#xff0c;最后发现两行代码就做出来了。写完后学习到还可以用Boyer-Moore 投票算法&#xff0c;能减小空间复杂度&#xff0c;我把它写在后面&#xff0c;可以进一步学习。 题目 多数元素 给定一个大小为 n 的数组 nums &am…

Golang Beego+Vue打造的高校科研工作管理系统,让信息发布更及时,项目管理更透明

&#x1f34a;作者&#xff1a;计算机毕设匠心工作室 &#x1f34a;简介&#xff1a;毕业后就一直专业从事计算机软件程序开发&#xff0c;至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长&#xff1a;按照需求定制化开发项目…

TCL25届校招测评笔试TAS人才测评题库:高分攻略真题分析

&#x1f31f; 职场新人必看&#xff1a;TCL校招测评全解析 &#x1f31f; 亲爱的小伙伴们&#xff0c;你是否正准备踏入职场&#xff0c;或是对即将到来的校招感到既兴奋又紧张&#xff1f;今天&#xff0c;我将带你深入了解TCL校招中的TAS人才测评&#xff0c;让你在面试前做…

ASP .NET CORE 6 项目实现WebSocket通信实践

一、简介 WebSocket 是一种计算机通信协议&#xff0c;提供了全双工通信通道&#xff0c;特别适用于需要频繁更新数据的应用&#xff0c;如实时聊天、在线游戏和股票行情等。它在 Web 应用中有着广泛的应用&#xff0c;因为它能够在客户端和服务器之间建立持久连接&#xff0c;…

floodfill算法(2)

一&#xff1a;太平洋大西洋水流问题 题目&#xff1a; 存在一个m*n的网格岛屿&#xff0c;岛屿的上面边界和左边边界都为太平洋&#xff0c;然后右边和下边边界都为大西洋&#xff0c;网格中的数值高的单元格中的水可以流进相邻单元格数值小的那个&#xff0c;编写一个程序&…

Unity Transform 组件

在 Unity 中&#xff0c;Transform 是一个非常重要的组件&#xff0c;它定义了物体的位置、旋转和缩放&#xff0c;几乎每个 GameObject 都包含一个 Transform 组件。Transform 组件的主要属性如下&#xff1a; 1. position 表示物体在世界空间中的位置。可以通过 transf…