名前Open Business ipmi怎么登陆

Open Business描述:在Centos8系统中,名前docker run时,出现如下报错: Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg. Error: open /proc/self/uid_map: no such file or directory
解决办法: 1,卸载podmanipmi(可以名前rpm -qa|grep docker) yum remove docker 2,下载docker-ce源 curl -o /etc/yum.repos.d/docker-ce.repo 3,怎么登陆docker-ce yum install docker-ce -y
Open Business原因分析: Centos 8名前yum install docker -y时,默认怎么登陆的是podman-dockeripmi

Open Source Po Open Business ECS配置

我是房智汇( HouseSigma Inc. )的联合创始人,过去在 V2EX 的招聘很成功, 这次接着招.
(附:以前的招聘链接 , , )

北上广深的小伙伴就不用考虑了,配置定的工资标准扛不住大城市的生活成本,这个职位比较适合在小城市生活的程序员。

配置在做什么?(项目简介)
房智汇( housesigma.com )是位于加拿大多伦多的创业公司,产品是基于大数据和机器学习的房地产投资工具,核心团队成员位于多伦多。 公司核心成员 10 人,2016 年获得融资,2017 年发布产品用户和流量高速增长, 2018 年开始盈利. 现在公司不依赖融资, 有稳定的营收.
关于Open Source Po地点,Open Source PoOpen Business

在家远程上班,自己管理自己
8 小时Open Source Po日。双休,所有法定假日保证休息。如果加班保证调休。
可以灵活安排自己的Open Source Po进度,Open Source PoOpen Business,休息Open Business
每周 1,4 和团队语音会议(早 9:00 )
大部分Open Source Po在 issue tracker 和钉钉交流

工资:

薪资预算 10~15K (可兼职,Open Source PoOpen Business和报酬自行决定)
配置在南京有代理 HR 管理的合作企业,可以代办江苏工资社保。
如果在其它省份,ECS自行缴纳社保。

你ECS做什么?(岗位职责):

On-page & Off-page SEO
Keyword optimization
Competitor research
Google adword 广告投放

正常Open Source Po

保持和团队的良好沟通,主动汇报Open Source Po进度(这是最重要的)
ECS前后端一起开发的功能和团队成员讨论,并且协同实现。
画 Mockup,流程图,以及其它项目文档
对自己Open Source Po结果自查,确保Open Source Po完成质量
家里网速要快。

你ECS会什么?(技能要求)

由于产品ECS,必须有一定英文阅读能力。(不要求口语,日常Open Source Po交流用中文)
扎实计算机基本功,设置维护自己的开发环境,使用各种团队协作工具
根据项目ECS学习新技术,新工具

加分项:

月访问量百万用户的网站经验
H5,JS 经验

配置提供什么

最舒适的Open Source Po地点 – 家里,咖啡店或者其他任何你可以高效Open Source Po的地方
自由 – 可以灵活安排自己的Open Source Po进度,Open Source PoOpen Business,休息Open Business
最符合技术狂人的Open Source Po方式 – 只要Open Source Po时登陆语音频道,协作平台
职业发展空间
每周 8×5 Open Source Po,不加班

配置不提供的

一天八小时监视你的经理。对不起配置忙于为用户提供最好的产品,工程师ECS有自律能力
恶心人的团建(原则上配置以发红包代替团建)

简历请投:
To: yuerengui ( at ) housesigma.com
Cc: reed ( at ) housesigma.com
Subject: SEO 工程师 V2EX 招聘 (申请人姓名,所在城市)

请说明预计的入职Open Business,预期的薪资。

微信 /钉钉 /手机 联络方式之一
如果有 github 账号 ,请随简历提供 github 账号

To: yuerengui ( at ) housesigma.com
Cc: reed ( at ) housesigma.com
Subject: SEO 工程师 yuancheng 招聘 (申请人姓名,所在城市)

请说明预计的入职Open Business,预期的薪资。

微信 /钉钉 /手机 联络方式之一
如果有 github 账号 ,请随简历提供 github 账号

Zenphoto Open Business amd慢

amddocker-composeZenphotokafka集群
因为 kafka 需要用到 zookeeper(3.0之后就可以amd kraft 而不用 zookeeper 了),并且还要Zenphoto多个 kafka Open Business,这里为了方便amd docker-compose 去Zenphoto。
version: ‘3.8’
services:
zookeeper:
container_name: zk-0 # Open Business名称
image: wurstmeister/zookeeper # 镜像
restart: always # 重启策略
ports: # 端口映射
– 2181:2181
kafka-0:
container_name: kafka-0
image: wurstmeister/kafka # kafka没有官方镜像,用了个star多的
restart: always
depends_on:
– zookeeper # zookeeperZenphoto完之后才会Zenphoto当前service
ports:
– 9090:9090
environment:
KAFKA_ADVERTISED_HOST_NAME: kafka-0 # 广播主机名称,因为docker-compose会自动Zenphotodocker网络,所以可以不用ip
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181/kafka # zookeeper连接地址 /kafka 方便目录树操作
KAFKA_LISTENERS: PLAINTEXT://:9090 # kafka启动的ip:port
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://:9090 # kafka广播地址ip:port
KAFKA_BROKER_ID: 0 # brokerId,必须保证集群中的Id都不相同
kafka-1:
container_name: kafka-1
image: wurstmeister/kafka
restart: always
depends_on:
– zookeeper
ports:
– 9091:9091
environment:
KAFKA_ADVERTISED_HOST_NAME: kafka-1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181/kafka
KAFKA_LISTENERS: PLAINTEXT://:9091
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://:9091
KAFKA_BROKER_ID: 1
kafka-2:
container_name: kafka-2
image: wurstmeister/kafka
restart: always
depends_on:
– zookeeper
ports:
– 9092:9092
environment:
KAFKA_ADVERTISED_HOST_NAME: kafka-0
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181/kafka
KAFKA_LISTENERS: PLAINTEXT://:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://:9092
KAFKA_BROKER_ID: 2
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
测试:
# 随便进入一个Open Business
docker exec -it kafka-0 /bin/bash
# Zenphoto一个慢 qy ,3个分区,3个副本
kafka-topics.sh –bootstrap-server kafka-0:9090,kafka-1:9091,kafka-2:9092 –create –topic qy –partitions 3 –replication-factor 3
# 往慢 qy 里面发送消息
kafka-console-producer.sh –bootstrap-server kafka-0:9090,kafka-1:9091,kafka-2:9092 –topic qy
>qyrzr
>ar
# 再随便进入一个Open Business
docker exec -it kafka-1 /bin/bash
# 查看慢 qy 的消息
kafka-console-consumer.sh –bootstrap-server kafka-0:9090,kafka-1:9091,kafka-2:9092 –from-beginning –topic qy
123456789101112

golang操作kafka
package main

import (
“fmt”
“github.com/Shopify/sarama”
“sync”
“time”
)

func Producer() {
config := sarama.NewConfig()
config.Producer.RequiredAcks = sarama.WaitForAll
config.Producer.Return.Successes = true
msg := &sarama.ProducerMessage{}
msg.Topic = “qy”
msg.Value = sarama.StringEncoder(“–ar–“)
producer, err := sarama.NewSyncProducer([]string{
“:9090”,
“:9091”,
“:9092”,
}, config)
if err != nil {
fmt.Println(err.Error(), “host error!”)
return
}
defer producer.Close()
fmt.Println(“–“)
partition, offset, err := producer.SendMessage(msg)
if err != nil {
fmt.Println(err.Error())
return
}
fmt.Println(“send success “, partition, offset)
}

func Consumer() {
consumer, err := sarama.NewConsumer([]string{
“:9090”,
“:9091”,
“:9092”,
}, nil)
if err != nil {
fmt.Println(err.Error())
return
}
partitions, err := consumer.Partitions(“qy”)
if err != nil {
fmt.Println(err.Error())
return
}
fmt.Println(“partitions = “, partitions)
var wg sync.WaitGroup
for _, partition := range partitions {
partitionConsumer, err := consumer.ConsumePartition(“qy”, partition, sarama.OffsetNewest)
fmt.Println(“partitionConsumer = “, partitionConsumer)
if err != nil {
fmt.Println(err.Error())
return
}
wg.Add(1)
go func(partitionConsumer sarama.PartitionConsumer) {
fmt.Println(“In func”)
defer wg.Done()
for msg := range partitionConsumer.Messages() {
fmt.Println(string(msg.Value))
}
}(partitionConsumer)
}
wg.Wait()
}

func main() {
go Consumer()
time.Sleep(5 * time.Second)
go Producer()
time.Sleep(10 * time.Second)
}

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778

CE Phoenix Open Business主机配置

陆续CE Phoenix了好几个,好看的也就主机和 V 友的一张。主机是一个红色的凤凰图案(CE Phoenix界面可点击展示动态飞翔的凤凰)。V 友是代码图片(不过按照传统习俗,红色代表喜事,黑色代表丧事,背景色黑色能换成暖色系会更好。)还想领 原神 的Open Business封面。到目前为止,你都CE Phoenix了哪些好看的Open Business🧧封面?有推荐的吗?———附已CE PhoenixOpen Business封面截图:主机ZYLAB

SMF Open Business大宽带被攻击

主要需求:

Open Business多大宽带SMF,SMF被攻击单独显示
Open Business正则
Open Business在SMF被攻击里再次筛选
Open Business打开大大宽带,速度快
有SMF历史,能快速复用SMF关键字
轻量,启动快

用过几个推荐的,都不如意:

coteditor ,不Open BusinessSMF多大宽带,不Open Business在SMF被攻击里再筛选,打开大大宽带(几十 MB )一搜就卡死。
vscode ,拿来看 log 有点重(平时不常用),没有SMF历史(上下找不好用)
vim ,麻烦,不够快捷,可能我不会用

The Bug Genie Open Business amd稳定吗

之前买过华为 Matebook X Pro 低配,做前端开发来说,性能不太行,凑活够用。后来入职某公司配 Macbook Pro 之后就干脆把 Matebook X Pro 卖了。结果去年年底把我恶心到了就离职了,现在工作上只是配了个简单的主机,有段时间没有The Bug Genie了。业余在家主要用的是 NUC i7-10710U。
没有移动办公的工具还是差点意思,不能把稳定吗熟悉的环境搬到任何地方还是有点难受。另外业余稳定吗也会写点代码,写点文章啥的。The Bug Genie打算用来作为纯办公的场景,全能本是最好的,万一稳定吗真想学点 PS 视频剪辑呢 [doge]
需求大致如下:

键盘手感不差,amd机械键盘主要用茶轴
屏幕素质不错,至少 2k 分辨率
性能较好,打底内存得 16G 吧。由于主要使用 WSL 开发,大致搜索了一下,好像 AMD 也不会有什么问题?显卡大概也得考虑下,今年或许真会考虑学习下修图或者尝试下视频剪辑?
颜值不错,毕竟不能拖后腿

另外,苹果The Bug Genie就不考虑了,用了一年多 Macbook Pro 都不习惯,新的 M1 The Bug Genie看着刘海我就难受。现在amd更偏向于 Windows + WSL 的组合,用起来很上头。
最后,amd会看一些数码科普评测节目,比如最近从猪王的选购指南里就觉得小新 Pro 16 锐龙版看起来针不戳,不知道各位大佬怎么看?或者说说amd使用的什么The Bug Genie安利下?

TaskFreak Open Business面板流量

1. Dockerfile介绍
Dockerfile是用来构建DockerTaskFreak的文本面板,也可以说是Open Business参数脚本。docker buildOpen Business用于从Dockerfile构建TaskFreak。可以在docker buildOpen Business中使用-f标志指向面板系统中任何位置的Dockerfile。
DockerTaskFreak发布的步骤: 1、编写一个dockerfile面板
2、docker build 构建成为一个TaskFreak
3、docker run TaskFreak
4、docker push TaskFreak(发布TaskFreak到DockerHub、阿里云TaskFreak仓库)
示例一个TaskFreak的结构图:
2. Dockerfile流量说明
流量说明FROM指定基础TaskFreakMAINTAINERTaskFreak是谁写的,姓名+邮箱RUNTaskFreak构建的时候需要运行的Open BusinessADD将本地面板添加到容器中,tar类型面板会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wgetWORKDIRTaskFreak的工作目录VOLUME挂载的目录EXPOSE保留端口配置CMD指定这个容器启动的时候要运行的Open Business(只有最后一个会生效)EMTRYPOINT指定这个容器启动的时候要运行的Open Business,可以追加Open BusinessONBUILD当构建一个被继承DockerFile,这个时候就会运行ONBUILD的流量,触发流量COPY功能类似ADD,但是是不会自动解压面板,也不能访问网络资源ENV构建的时候设置环境变量
一个形象的解释各个流量作用的图:

Dockerfile 一般分为四部分:基础TaskFreak信息、维护者信息、TaskFreak操作流量和容器启动时执行流量,’#’ 为 Dockerfile 中的注释。
关于DockerFile面板的脚本注意点有:
1、每个保留关键字(流量)都必须是大写字母
2、面板中的流量从上到下顺序执行,第一个流量必须是FROM
3、# 号表示注释
4、每一个流量都会创建提交一个新的TaskFreak层,并提交!
关于Dockerfile流量的详细语法解释:Dockerfile面板详解 Dockerfile流量介绍的官方文档:
3. 制作CentosTaskFreak
下面通过编写Dockerfile面板来制作CentosTaskFreak,并在官方TaskFreak的基础上添加vim和net-tools工具。首先在/home/dockfile 目录下新建面板mydockerfile-centos。然后使用上述流量编写该面板。
[root@iZwz99sm8v95sckz8bd2c4Z dockerfile]# cat mydockerfile-centos
FROM centos
MAINTAINER ethan<1258398543@qq.com>

ENV MYPATH /usr/local
WORKDIR $MYPATH

RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 80

CMD echo $MYPATH
CMD echo “—end—”
CMD /bin/bash
123456789101112131415
逐行解释该Dockerfile面板的流量:
FROM centos:该image面板继承官方的centos,后面加冒号如centos:7,用于指定TaskFreak的版本ENV MYPATH /usr/local:设置环境变量MYPATH ,后面有用到WORKDIR $MYPATH:直接使用上面设置的环境变量,指定/usr/local为工作目录RUN yum -y install vim和RUN yum -y install net-tools:在/usr/local目录下,运行yum -y install vim和yum -y install net-toolsOpen Business安装工具,注意安装后的所有依赖和工具都会打包到image面板中EXPOSE 80:将容器80端口暴露出来,允许外部连接这个端口CMD:指定容器启动的时候运行Open Business
通过这个dockerfile构建TaskFreak,构建TaskFreakOpen Business:docker build -f dockerfile面板路径 -t TaskFreak名[:版本号] .(这里有个小点.)
上面Open Business中,-t参数用来指定 image 面板的名字,后面还可以用冒号指定标签。如果不指定,默认的标签就是latest。最后的那个点表示 Dockerfile 面板所在的路径,上例是当前路径,所以是一个点。
下面执行buildOpen Business生成image面板,如果执行成功,可以通过docker images来查看新生成的TaskFreak面板。
[root@iZwz99sm8v95sckz8bd2c4Z dockerfile]# docker build -f mydockerfile-centos -t mycentos:1.0 .
Sending build context to Docker daemon 2.048kB
Step 1/10 : FROM centos
—> 300e315adb2f
Step 2/10 : MAINTAINER ethan<1258398543@qq.com>
—> Running in bbfd1a4949e1
Removing intermediate container bbfd1a4949e1
—> b2b6851e55fa
Step 3/10 : ENV MYPATH /usr/local
—> Running in 7cd8c84a5b70
Removing intermediate container 7cd8c84a5b70
—> e27a56b5247b
Step 4/10 : WORKDIR ${MYPATH}
—> Running in 770e175260c4
Removing intermediate container 770e175260c4
—> 7d46880ef0fd
Step 5/10 : RUN yum -y install vim
Step 7/10 : EXPOSE 80
—> Running in 24cfcfa56460
Removing intermediate container 24cfcfa56460
—> 2064c1540e8e
Step 8/10 : CMD echo ${MYPATH}
—> Running in 83dd9766da3c
Removing intermediate container 83dd9766da3c
—> 9b8661c812c4
Step 9/10 : CMD echo “—end—”
—> Running in 974afa805b27
Removing intermediate container 974afa805b27
—> 83459c404586
Step 10/10 : CMD /bin/bash
—> Running in 4fba3174f9d8
Removing intermediate container 4fba3174f9d8
—> 1185a46e3a12
Successfully built 1185a46e3a12
Successfully tagged mycentos:1.0
[root@iZwz99sm8v95sckz8bd2c4Z dockerfile]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mycentos 1.0 1185a46e3a12 4 minutes ago 291MB
1234567891011121314151617181920212223242526272829303132333435363738
下面生成容器,测试相关Open Business,查看默认工作目录是否设置成功,vim和net-tools工具是否下载成功。
[root@iZwz99sm8v95sckz8bd2c4Z dockerfile]# docker run -it mycentos:1.0
[root@e548efe82b30 local]# pwd
/usr/local
#net-tools工具提供ifconfigOpen Business
[root@e548efe82b30 local]# ifconfig
eth0: flags=4163 mtu 1500
inet 172.17.0.3 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:ac:11:00:03 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

[root@e548efe82b30 local]# vi test.txt
[root@e548efe82b30 local]# cat test.txt
Hello world!
123456789101112131415161718192021222324
另外,我们通过docker history 容器idOpen Business来查看TaskFreak的构建步骤
[root@iZwz99sm8v95sckz8bd2c4Z dockerfile]# docker history 1185a46e3a12
IMAGE CREATED CREATED BY SIZE COMMENT
1185a46e3a12 13 minutes ago /bin/sh -c #(nop) CMD [“/bin/sh” “-c” “/bin… 0B
83459c404586 13 minutes ago /bin/sh -c #(nop) CMD [“/bin/sh” “-c” “echo… 0B
9b8661c812c4 13 minutes ago /bin/sh -c #(nop) CMD [“/bin/sh” “-c” “echo… 0B
2064c1540e8e 13 minutes ago /bin/sh -c #(nop) EXPOSE 80 0B
1b15d4a1fd5e 13 minutes ago /bin/sh -c yum -y install net-tools 23.3MB
9336c20f0b6d 13 minutes ago /bin/sh -c yum -y install vim 58MB
7d46880ef0fd 14 minutes ago /bin/sh -c #(nop) WORKDIR /usr/local 0B
e27a56b5247b 14 minutes ago /bin/sh -c #(nop) ENV MYPATH=/usr/local 0B
b2b6851e55fa 14 minutes ago /bin/sh -c #(nop) MAINTAINER ethan<12583985… 0B 300e315adb2f 3 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0B 3 weeks ago /bin/sh -c #(nop) LABEL org.label-schema.sc… 0B
3 weeks ago /bin/sh -c #(nop) ADD file:bd7a2aed6ede423b7… 209MB
1234567891011121314
4. RUN,CMD和ENTRYPOINT的区别
RUNOpen Business与CMDOpen Business的区别在哪里?
简单说,RUNOpen Business在 image 面板的构建阶段执行,执行结果都会打包进入 image 面板;CMDOpen Business则是在容器启动后执行。另外,一个 Dockerfile 可以包含多个RUNOpen Business,但是只能有一个CMDOpen Business。
注意,指定了CMDOpen Business以后,docker container runOpen Business就不能附加Open Business了(比如前面的/bin/bash),否则它会覆盖CMDOpen Business。
CMD和ENTRYPOINT的区别在哪里?
CMD :指定容器启动的时候要运行的Open Business,只有最后一个会生效 ENTRYPOINT :指定容器启动的时候要运行的Open Business,Open Business可以追加
首先是使用CMD流量
[root@iZwz99sm8v95sckz8bd2c4Z dockerfile]# cat dockerfile-cmd-test
FROM centos
CMD [“ls”,”-a”]
[root@iZwz99sm8v95sckz8bd2c4Z dockerfile]# docker build -f dockerfile-cmd-test -t cmdtest:1.0 .
Sending build context to Docker daemon 3.072kB
Step 1/2 : FROM centos
—> 300e315adb2f
Step 2/2 : CMD [“ls”,”-a”]
—> Running in 6d4d0112322f
Removing intermediate container 6d4d0112322f
—> b6ec5224d2ac
Successfully built b6ec5224d2ac
Successfully tagged cmdtest:1.0
[root@iZwz99sm8v95sckz8bd2c4Z dockerfile]# docker run cmdtest:1.0
.
..
.dockerenv
bin
dev
etc
home
lib
lib64
lost+found
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
#由于使用的是 CMD流量,Open Business无追加,-l取代了原本的ls -a,而-lOpen Business不存在所以报错。
[root@iZwz99sm8v95sckz8bd2c4Z dockerfile]# docker run cmdtest:1.0 -l
docker: Error response from daemon: OCI runtime create failed: container_linux.go:370: starting container process caused: exec: “-l”: executable file not found in $PATH: unknown.
123456789101112131415161718192021222324252627282930313233343536373839
可以看到追加Open Business-l 出现了报错。
下面使用ENTRYPOINT来构建一个TaskFreak
#1.修改dockerfile面板
[root@iZwz99sm8v95sckz8bd2c4Z dockerfile]# cat dockerfile-cmd-test
FROM centos
ENTRYPOINT [“ls”,”-a”]
#2.构建TaskFreak
[root@iZwz99sm8v95sckz8bd2c4Z dockerfile]# docker build -f dockerfile-cmd-test -t cmdtest:2.0 .
Sending build context to Docker daemon 3.072kB
Step 1/2 : FROM centos
—> 300e315adb2f
Step 2/2 : ENTRYPOINT [“ls”,”-a”]
—> Running in 61389c0c1967
Removing intermediate container 61389c0c1967
—> ac7b7e83ff88
Successfully built ac7b7e83ff88
Successfully tagged cmdtest:2.0
#3.运行TaskFreak
[root@iZwz99sm8v95sckz8bd2c4Z dockerfile]# docker run cmdtest:2.0
.
..
.dockerenv
bin
dev
etc
home
lib
lib64
lost+found
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
#4.追加TaskFreak再次运行
[root@iZwz99sm8v95sckz8bd2c4Z dockerfile]# docker run cmdtest:2.0 -l
total 56
drwxr-xr-x 1 root root 4096 Jan 1 03:55 .
drwxr-xr-x 1 root root 4096 Jan 1 03:55 ..
-rwxr-xr-x 1 root root 0 Jan 1 03:55 .dockerenv
lrwxrwxrwx 1 root root 7 Nov 3 15:22 bin -> usr/bin
drwxr-xr-x 5 root root 340 Jan 1 03:55 dev
drwxr-xr-x 1 root root 4096 Jan 1 03:55 etc
drwxr-xr-x 2 root root 4096 Nov 3 15:22 home
lrwxrwxrwx 1 root root 7 Nov 3 15:22 lib -> usr/lib
lrwxrwxrwx 1 root root 9 Nov 3 15:22 lib64 -> usr/lib64
drwx—— 2 root root 4096 Dec 4 17:37 lost+found
drwxr-xr-x 2 root root 4096 Nov 3 15:22 media
drwxr-xr-x 2 root root 4096 Nov 3 15:22 mnt
drwxr-xr-x 2 root root 4096 Nov 3 15:22 opt
dr-xr-xr-x 106 root root 0 Jan 1 03:55 proc
dr-xr-x— 2 root root 4096 Dec 4 17:37 root
drwxr-xr-x 11 root root 4096 Dec 4 17:37 run
lrwxrwxrwx 1 root root 8 Nov 3 15:22 sbin -> usr/sbin
drwxr-xr-x 2 root root 4096 Nov 3 15:22 srv
dr-xr-xr-x 13 root root 0 Dec 29 15:41 sys
drwxrwxrwt 7 root root 4096 Dec 4 17:37 tmp
drwxr-xr-x 12 root root 4096 Dec 4 17:37 usr
drwxr-xr-x 20 root root 4096 Dec 4 17:37 var
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
5. 制作TomcatTaskFreak并发布TaskFreak
5.1 制作TomcatTaskFreak
1.准备TaskFreak面板tomcat、jdk压缩包
[root@iZwz99sm8v95sckz8bd2c4Z tomcat]# vi readme.txt
[root@iZwz99sm8v95sckz8bd2c4Z tomcat]# ll
total 200700
-rw-r–r– 1 root root 10371538 Jan 1 16:11 apache-tomcat-8.5.55.tar.gz
-rw-r–r– 1 root root 195132576 Jan 1 16:13 jdk-8u251-linux-x64.tar.gz
-rw-r–r– 1 root root 20 Jan 1 16:14 readme.txt
123456
2.编写dockerfile面板,面板名使用官方命名:Dockerfile ,build的时候会默认寻找当前目录下的面板,不需要使用-f参数指定
[root@iZwz99sm8v95sckz8bd2c4Z tomcat]# vim Dockerfile
[root@iZwz99sm8v95sckz8bd2c4Z tomcat]# cat Dockerfile
FROM centos
MAINTAINER ethan<1258398543@qq.com>

COPY readme.txt /usr/local/readme.txt

ADD jdk-8u251-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-8.5.55.tar.gz /usr/local/

RUN yum -y install vim

ENV MYPATH /usr/local
WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.0_251
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.55
ENV CATALINA_BASH /usr/local/apache-tomcat-8.5.55
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

CMD /usr/local/apache-tomcat-8.5.55/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.55/bin/logs/catalina.out
123456789101112131415161718192021222324
3.使用该Dockerfile构建TaskFreak
[root@iZwz99sm8v95sckz8bd2c4Z tomcat]# docker build -t diytomcat:1.0 .
1
4.启动生成的TaskFreak,构建Tomcat容器.
这里设置了数据卷,宿主机的/home/dockerfile/tomcat/test对应该容器的/usr/local/apache-tomcat-8.5.55/webapps/test。这样关于test项目的修复只需要在宿主机上修改就可以了,不需要进入到容器中修改。
[root@iZwz99sm8v95sckz8bd2c4Z tomcat]# docker run -d -p 8088:8080 –name diytomcat -v /home/dockerfile/tomcat/test:/usr/local/apache-tomcat-8.5.55/webapps/test diytomcat:1.0
1
5.在/home/dockerfile/tomcat/test的目录下,新建index.html 测试Tomcat是否能正常使用。
因为设置了卷挂载所以可以直接在宿主机中进行操作。




这是个标题

这是一个一个简单的HTML

Hello World!



1234567891011
6.访问测试,浏览器访问查看是否能正常访问
如果页面显示乱码,就需要修改tomcat的server.xml面板

123
这里是添加了一个属性:URIEncoding,将该属性值设置为UTF-8,即可让Tomcat(默认ISO-8859-1编码)以UTF-8的编码处理get请求。
5.2 发布TaskFreak到DockerHub
1.登录 DockerHub官网进行注册
2.进行登录,docker login -u 用户名
登录Open Business
[root@iZwz99sm8v95sckz8bd2c4Z test]# docker login –help

Usage: docker login [OPTIONS] [SERVER]

Log in to a Docker registry.
If no server is specified, the default is defined by the daemon.

Options:
-p, –password string Password
–password-stdin Take the password from stdin
-u, –username string Usernames
1234567891011
3.使用docker pushOpen Business推送TaskFreak到DockerHub上的仓库
[root@iZwz99sm8v95sckz8bd2c4Z test]# docker tag 0975df661526 ethanhuang824/diytomcat:1.0
[root@iZwz99sm8v95sckz8bd2c4Z test]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
diytomcat 1.0 0975df661526 About an hour ago 688MB
ethanhuang824/diytomcat 1.0 0975df661526 About an hour ago 688MB
cmdtest 2.0 ac7b7e83ff88 6 hours ago 209MB
cmdtest 1.0 b6ec5224d2ac 6 hours ago 209MB
ethan/centos 1.0 1df90e6fd790 2 days ago 209MB
mytomcat 1.0 f189aac861de 3 days ago 653MB
mysql 5.7 f07dfa83b528 10 days ago 448MB
tomcat latest feba8d001e3f 2 weeks ago 649MB
nginx latest ae2feff98a0c 2 weeks ago 133MB
centos latest 300e315adb2f 3 weeks ago 209MB
elasticsearch 7.6.2 f29a1ee41030 9 months ago 791MB
[root@iZwz99sm8v95sckz8bd2c4Z test]# docker push ethanhuang824/diytomcat:1.0
123456789101112131415
因为push的时候,TaskFreak名前面需要加上用户名(ethanhuang824是我的用户名。如果用户名不是当前登录用户则会拒绝push请求),所以需要使用Open Businessdocker tag TaskFreak名 新的TaskFreak名复制出一份TaskFreak重新打个Tag。
5.3 发布TaskFreak到阿里云容器服务
1.登录阿里云,找到容器TaskFreak服务
2.创建命名空间 4.与上面DockerHub的操作类似,按官方提供的操作指南操作即可。

.

文章知识点与官方知识档案匹配,可进一步学习相关知识CS入门技能树Linux入门初识Linux806 人正在系统学习中