【打工日常】使用docker部署在线Photopea用于linux下替代ps

一、Photopea介绍

linux没有ps适配,对于有时候工作来说确实不方便,我找了很久,才找到了一款功能可以跟ps接近的在线软件,使用docker部署就可以了。它是ps的最佳替代品之一,其界面几乎与ps相同,只不过它是在线的网页,但是功能基本上可以满足不是设计类的刚需。

二、本次实践介绍

本次实践简介

本次实践部署环境为个人测试环境

本地环境规划

本次实践环境规划:先下载Photopea-Offline.git文件,然后使用dockerfile创建镜像,最后通过docker-cli或者docker compose启动容器

镜像命名IP地址容器镜像版本操作系统版本
pslocalhostlatestubuntu 22.04

三、检查本地Docker环境

检查本地Docker版本

检查Docker版本:docker versionroot@WellDone:/home/goodjob# docker version
Client: Docker Engine - CommunityVersion:           25.0.0API version:       1.44Go version:        go1.21.6Git commit:        e758fe5Built:             Thu Jan 18 17:09:49 2024OS/Arch:           linux/amd64Context:           defaultServer: Docker Engine - CommunityEngine:Version:          25.0.0API version:      1.44 (minimum version 1.24)Go version:       go1.21.6Git commit:       615dfdfBuilt:            Thu Jan 18 17:09:49 2024OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.27GitCommit:        a1496014c916f9e62104b33d1bb5bd03b0858e59runc:Version:          1.1.11GitCommit:        v1.1.11-0-g4bccb38docker-init:Version:          0.19.0GitCommit:        de40ad0
root@WellDone:/home/goodjob# 

检查Docker服务状态

检查Docker服务状态,确保Docker服务正常运行。

systemctl status dockerroot@WellDone:/home/goodjob/Downloads# systemctl status docker
● docker.service - Docker Application Container EngineLoaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)Active: active (running) since Wed 2024-01-24 08:54:31 CST; 1 day 4h ago
TriggeredBy: ● docker.socketDocs: https://docs.docker.comMain PID: 1549 (dockerd)Tasks: 65Memory: 419.5MCPU: 38.874sCGroup: /system.slice/docker.service├─  1549 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock├─  2010 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 6379 -container-ip 172.17.0.2 -container-port 6379├─  2016 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 6379 -container-ip 172.17.0.2 -container-port 6379├─  2029 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 5432 -container-ip 172.17.0.3 -container-port 5432├─  2036 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 5432 -container-ip 172.17.0.3 -container-port 5432├─123083 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8888 -container-ip 172.17.0.4 -container-port 8080└─123095 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8888 -container-ip 172.17.0.4 -container-port 80801月 24 08:54:31 WellDone dockerd[1549]: time="2024-01-24T08:54:31.067895045+08:00" level=info msg="API listen on /run/docker.sock"
1月 24 08:54:31 WellDone systemd[1]: Started Docker Application Container Engine.
1月 24 16:13:48 WellDone dockerd[1549]: time="2024-01-24T16:13:48.185008219+08:00" level=info msg="ignoring event" container=8ad99af82d8a41dd661d>
1月 24 16:13:48 WellDone dockerd[1549]: time="2024-01-24T16:13:48.189484205+08:00" level=warning msg="ShouldRestart failed, container will not be>
1月 24 21:58:08 WellDone dockerd[1549]: time="2024-01-24T21:58:08.024915139+08:00" level=info msg="ignoring event" container=27fd28e2993f31b170b8>
1月 24 21:58:08 WellDone dockerd[1549]: time="2024-01-24T21:58:08.029986730+08:00" level=warning msg="ShouldRestart failed, container will not be>
1月 25 10:46:16 WellDone dockerd[1549]: time="2024-01-25T10:46:16.329180722+08:00" level=info msg="Container failed to exit within 10s of signal >
1月 25 10:46:16 WellDone dockerd[1549]: time="2024-01-25T10:46:16.350757439+08:00" level=info msg="ignoring event" container=b1223add00f36bbb3246>
1月 25 10:49:21 WellDone dockerd[1549]: time="2024-01-25T10:49:21.993755983+08:00" level=info msg="Container failed to exit within 10s of signal >
1月 25 10:49:22 WellDone dockerd[1549]: time="2024-01-25T10:49:22.015822650+08:00" level=info msg="ignoring event" container=edb0e153b45dbe62acd8>
lines 1-28/28 (END)

四、部署Photopea镜像

创建Photopea镜像

a.创建存放ps的路径
mkdir /opt/psb.然后在此目录下载对应的资源
git clone https://git.nixnet.services/DUOLabs333/Photopea-Offline.git .c.创建dockerfile
touch Dockerfile
vim Dockerfiled.dockerfile的内容
============================================================
FROM alpineRUN sed -i 's/[dl-cdn.alpinelinux.org/mirrors.aliyun.com/g](http://dl-cdn.alpinelinux.org/mirrors.aliyun.com/g "dl-cdn.alpinelinux.org/mirrors.aliyun.com/g")' /etc/apk/repositoriesRUN cat /etc/apk/repositoriesWORKDIR /var/run/photopeaRUN apk update && apk upgradeRUN apk add git python3COPY [www.photopea.com](http://www.photopea.com/ "www.photopea.com") ./[www.photopea.com](http://www.photopea.com/ "www.photopea.com")EXPOSE 2887ENTRYPOINT ["python3", "-m", "http.server", "--directory", "[www.photopea.com](http://www.photopea.com/ "www.photopea.com")", "2887"]
============================================================e.确保dockerfile跟git clone下载的内容是同一层路径,执行dockerfile创建镜像
docker build . -t photopea:latest实际上我已经创建好了镜像存在我的阿里云里面,可以直接拉取即可
docker pull registry.cn-guangzhou.aliyuncs.com/welldene/docker:photopea

创建容器

使用docker快速创建photopea的容器。

完整创建过程:1.使用docker-cli启动一个photopea的容器。docker run -d --name ps -p 2887:2887 registry.cn-guangzhou.aliyuncs.com/welldene/docker:photopea2.使用docker-compose启动一个photopea的容器version: '3.9'
services:welldene:image: 'registry.cn-guangzhou.aliyuncs.com/welldene/docker:photopea'ports:- '2887:2887'container_name: ps3.容器启动正常,访问
http://ip:2887

​​​检查容器运行状态

检查容器的运行状态,确保服务的正常运行。

docker ps

root@WellDone:/home/goodjob# docker ps
CONTAINER ID   IMAGE                                                       COMMAND                   CREATED         STATUS         PORTS                                       NAMES
ps              registry.cn-guangzhou.aliyuncs.com/welldene/docker:photopea        "python3 -m http.ser…"   ps              6 minutes ago   Up 6 minutes   0.0.0.0:2887->2887/tcp, :::2887->2887/tcp

五、访问photopea页面

访问photopea首页 访问地址:http://localhost:2887

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/715654.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Springboot+vue的医药管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频: Springbootvue的医药管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三层…

云轴科技ZStack与华东师范大学共建产教融合基地

近日,上海云轴信息科技有限公司(云轴科技ZStack)与华东师范大学上海国际首席技术官学院宣布,共同打造产教融合基地,以促进人才培养与产业需求的全方位融合。这一举措旨在深化教育与产业的合作关系,培养更多…

实战 | 使用YOLOv8图像分割实现路面坑洞检测(步骤 + 代码)

导 读 本文主要介绍使用YOLOv8图像分割实现路面坑洞检测(步骤 代码)。 背 景 如上图所示,现实生活中路面坑洞对车辆和驾驶员安全来说存在巨大隐患,本文将介绍如何使用YoloV8图像分割技术来检测路面坑洞,从而提示驾…

计算机网络|Socket

文章目录 Socket并发socket Socket Socket是一种工作在TCP/IP协议栈上的API。 端口用于区分不同应用,IP地址用于区分不同主机。 以下是某一个服务器的socket代码。 其中with是python中的一个语法糖,代表当代码块离开with时,自动对s进行销毁…

JS:原型与原型链(附带图解与代码)

一、原型 写在前面: 任何对象都有原型。 函数也是对象,所以函数也有原型。 1.什么是原型 在 JavaScript 中,对象有一个特殊的隐藏属性 [[Prototype]],它要么为 null,要么就是对另一个对象的引用,该对象…

什么是片内片间均匀性?

均匀性在芯片制程的每一个工序中都需要考虑到,包括薄膜沉积,刻蚀,光刻,cmp,离子注入等。较高的均匀性才能保证芯片的产品与性能。那么片内和片间非均匀性是什么?如何计算?有什么作用呢&#xff…

递归与递推(蓝桥杯 c++)

目录 题目一&#xff1a; 代码&#xff1a; 题目二: 代码&#xff1a; 题目三&#xff1a; 代码&#xff1a; 题目四&#xff1a; 代码&#xff1a; 题目一&#xff1a; 代码&#xff1a; #include<iostream> #include<cstring> using namespace std; int …

node.js最准确历史版本下载

先进入官网:Node.js https://nodejs.org/en 嫌其他博客多可以到/release下载:Node.js,在blog后面加/release https://nodejs.org/en/blog/release/ 点击next翻页,同样的道理

设计模式-结构型模式-外观模式

外观模式&#xff08;Facade&#xff09;&#xff0c;为子系统中的一组接口提供一个一致的界面&#xff0c;此模式定义了一个高层接口&#xff0c;这个接口使得这一子系统更加容易使用。[DP] 首先&#xff0c;定义子系统的各个组件接口和具体实现类&#xff1a; // 子系统组件接…

2、事件机制、DOM操作、jquery对尺寸操作、jquery添加和删除

一、事件机制 1、事件源.事件类型(事件处理程序) $(this)中的this不能加引号 $(#box).click(function () {$(this).css(background-color,blue)//点击颜色变为蓝色 })2、事件源.on/bind(事件类型&#xff0c;事件处理程序) $("#box").on(dbclick,function () {$(…

适配器模式在微服务的巧妙应用

适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许不兼容的接口之间可以一起工作。适配器模式通常用于将一个类的接口转换成客户端期望的另一种接口&#xff0c;从而使原本因接口不兼容而不能一起工作的类可以一起工作。 适配器模式的…

使用Haproxy搭建Web群集

Hapraxy是目前比较流行的一种群集调度工具&#xff0c;同类群集调度工具有很多&#xff0c;如LVS 和Nginx。相 比较而言&#xff0c;LVS.性能最好&#xff0c;但是搭建相对复杂:Nginx的 upstream 模块支持群集功能&#xff0c;但是对群集节 点健康检查功能不强&#xff0c;性能…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的番茄成熟度检测系统(Python+PySide6界面+训练代码)

摘要&#xff1a;开发番茄成熟度检测系统对于提高农业产量和食品加工效率具有重大意义。本篇博客详细介绍了如何利用深度学习构建一个番茄成熟度检测系统&#xff0c;并提供了完整的实现代码。该系统基于强大的YOLOv8算法&#xff0c;并结合了YOLOv7、YOLOv6、YOLOv5的对比&…

腾讯云幻兽帕鲁服务器使用Linux和Windows操作系统,对用户的技术要求有何不同?

腾讯云幻兽帕鲁服务器使用Linux和Windows操作系统对用户的技术要求有何不同&#xff1f; 首先&#xff0c;从操作界面的角度来看&#xff0c;Windows操作系统相对简单易操作&#xff0c;适合那些偏好使用图形化界面操作的用户。而Linux操作系统则需要通过命令行完成&#xff0…

百度搜索引擎SEO优化方法

随着互联网的不断发展&#xff0c;搜索引擎已经成为人们获取信息、产品和服务的主要途径之一。而在中国&#xff0c;百度作为最大的搜索引擎&#xff0c;其影响力不可忽视。了解并掌握百度SEO关键词优化方法&#xff0c;对于提升网站在搜索引擎中的排名至关重要。 关键词选择&a…

数据结构——跳表

简单介绍跳表 跳表&#xff08;Skip List&#xff09;是一种可以进行对数级别查找的数据结构&#xff0c;它通过在数据中构建多级索引来提高查询效率。跳表是一种基于链表的随机化数据结构&#xff0c;其本质是由多个链表组成&#xff0c;每个链表中的元素都是原始链表中的元素…

图论 - Trie树(字符串统计、最大异或对)

文章目录 前言Part 1&#xff1a;Trie字符串统计1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 Part 2&#xff1a;最大异或对1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 前言 本篇博客将介绍Trie树的常见应用&#xff0c;包括&#xff1a;Trie…

电子电气架构——车载以太网协议栈

电子电气架构——车载以太网协议栈 我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 没有人关注你。也无需有人关注你。你必须承认自己的价值&#xff0c…

MySQL入门------数据库与SQL概述

目录 前言 一、数据库相关概念 二、数据模型 1.关系型数据库&#xff08;RDBMS&#xff09; 三、MySQL数据库 1.下载和安装 2.配置环境变量 四、SQL 1.SQL通用语法 2.SQL分类 前言 从本期开始&#xff0c;我们开始学习数据库的相关理论和实践知识&#xff0c;从入门…

jupyter 用pyecharts进行数据分析

一、jupyter和pyecharts下载和打开 因为我是用的pycharm&#xff0c;所以我直接在pycharm项目终端中下载pip install jupyter,pip install pyecharts 在你下载的项目路径中输入jupyter notebook 之后会进入页面 Jupyter 具体使用参考这个链接&#xff1a;Jupyter Notebook基本…