[why] our os-cifs container will mount three dir, /srv/os /srv/initrd /srv/result it's may cause: 1. our cifs service becomes slow 2. if the container exit, none of the three folders can be accessed. in order to reduce the coupling, need split them [how] one folder mount by one container [Usage]: Two ways for the client to mount initrd: 1. initrd. mount -t cifs -o guest,port=446 //ip/initrd /tmp/initrd 2. osimage. mount -t cifs -o guest,port=446 //ip/osimage /tmp/osimage
Signed-off-by: Xiao Shenwei xiaoshenwei96@163.com --- container/initrd-cifs/Dockerfile | 22 ++++++++++++++++++ container/initrd-cifs/build | 5 +++++ container/initrd-cifs/smb.conf | 38 ++++++++++++++++++++++++++++++++ container/initrd-cifs/start | 24 ++++++++++++++++++++ 4 files changed, 89 insertions(+) create mode 100644 container/initrd-cifs/Dockerfile create mode 100755 container/initrd-cifs/build create mode 100644 container/initrd-cifs/smb.conf create mode 100755 container/initrd-cifs/start
diff --git a/container/initrd-cifs/Dockerfile b/container/initrd-cifs/Dockerfile new file mode 100644 index 0000000..341bfc9 --- /dev/null +++ b/container/initrd-cifs/Dockerfile @@ -0,0 +1,22 @@ +# Origin: https://github.com/Stanback/alpine-samba +# Copyright (C) 2016-2020 Eric D. Stanback +# SPDX-License-Identifier: GPL-3.0 + +FROM alpine:edge + +MAINTAINER Xiao Shenwei xiaoshenwei96@163.com + +RUN sed -ri.origin 's|^https?://dl-cdn.alpinelinux.org|http://mirrors.huaweicloud.com%7Cg' /etc/apk/repositories +RUN adduser -u 1090 -D lkp +RUN apk add --update \ + samba-common-tools \ + samba-client \ + samba-server \ + bash && \ + rm -rf /var/cache/apk/* + +COPY ./smb.conf /etc/samba/ + +EXPOSE 446/tcp + +ENTRYPOINT ["smbd", "--foreground", "--no-process-group", "--log-stdout"] diff --git a/container/initrd-cifs/build b/container/initrd-cifs/build new file mode 100755 index 0000000..ca9de39 --- /dev/null +++ b/container/initrd-cifs/build @@ -0,0 +1,5 @@ +#!/bin/bash +# SPDX-License-Identifier: MulanPSL-2.0+ +# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved. + +docker build -t alpine/initrd-cifs . diff --git a/container/initrd-cifs/smb.conf b/container/initrd-cifs/smb.conf new file mode 100644 index 0000000..eaddef7 --- /dev/null +++ b/container/initrd-cifs/smb.conf @@ -0,0 +1,38 @@ +# refer to https://lkml.org/lkml/2019/7/16/716 and https://lkml.org/lkml/2019/9/19/586 +[global] + workgroup = MYGROUP + server string = Samba Server + map to guest = Bad User + load printers = no + printing = bsd + printcap name = /dev/null + disable spoolss = yes + disable netbios = yes + server role = standalone + server services = -dns, -nbt + smb ports = 445 + create mode = 0777 + directory mode = 0777 + guest only = yes + guest ok = yes + server min protocol = NT1 + unix extensions = yes + mangled names = no + +[initrd] + path = /srv/initrd/ + comment = initrd + browseable = yes + writable = yes + public = yes + force user = lkp + force group = lkp + +[osimage] + path = /srv/initrd/ + comment = osimage + browseable = yes + writable = yes + public = yes + force user = lkp + force group = lkp diff --git a/container/initrd-cifs/start b/container/initrd-cifs/start new file mode 100755 index 0000000..7232bdf --- /dev/null +++ b/container/initrd-cifs/start @@ -0,0 +1,24 @@ +#!/bin/bash +# SPDX-License-Identifier: MulanPSL-2.0+ +# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved. + +. $CCI_SRC/container/defconfig.sh + +lsmod | grep -q "^cifs\s" || { + sudo modprobe cifs +} + +docker_rm initrd-cifs + +cmd=( + docker run + -d + -p 446:445 + -v /etc/localtime:/etc/localtime:ro + -v /srv/initrd:/srv/initrd + --name initrd-cifs + --restart=always + alpine/initrd-cifs +) + +"${cmd[@]}"
On Thu, Nov 12, 2020 at 07:08:08PM +0800, Xiao Shenwei wrote:
[why] our os-cifs container will mount three dir, /srv/os /srv/initrd /srv/result it's may cause:
- our cifs service becomes slow
- if the container exit, none of the three folders can be accessed.
in order to reduce the coupling, need split them
Here needs a blank line.
[how] one folder mount by one container
ditto.
Thanks, Xijian
[Usage]: Two ways for the client to mount initrd:
- initrd.
mount -t cifs -o guest,port=446 //ip/initrd /tmp/initrd 2. osimage. mount -t cifs -o guest,port=446 //ip/osimage /tmp/osimage
Signed-off-by: Xiao Shenwei xiaoshenwei96@163.com
container/initrd-cifs/Dockerfile | 22 ++++++++++++++++++ container/initrd-cifs/build | 5 +++++ container/initrd-cifs/smb.conf | 38 ++++++++++++++++++++++++++++++++ container/initrd-cifs/start | 24 ++++++++++++++++++++ 4 files changed, 89 insertions(+) create mode 100644 container/initrd-cifs/Dockerfile create mode 100755 container/initrd-cifs/build create mode 100644 container/initrd-cifs/smb.conf create mode 100755 container/initrd-cifs/start
diff --git a/container/initrd-cifs/Dockerfile b/container/initrd-cifs/Dockerfile new file mode 100644 index 0000000..341bfc9 --- /dev/null +++ b/container/initrd-cifs/Dockerfile @@ -0,0 +1,22 @@ +# Origin: https://github.com/Stanback/alpine-samba +# Copyright (C) 2016-2020 Eric D. Stanback +# SPDX-License-Identifier: GPL-3.0
+FROM alpine:edge
+MAINTAINER Xiao Shenwei xiaoshenwei96@163.com
+RUN sed -ri.origin 's|^https?://dl-cdn.alpinelinux.org|http://mirrors.huaweicloud.com%7Cg' /etc/apk/repositories +RUN adduser -u 1090 -D lkp +RUN apk add --update \
- samba-common-tools \
- samba-client \
- samba-server \
- bash && \
- rm -rf /var/cache/apk/*
+COPY ./smb.conf /etc/samba/
+EXPOSE 446/tcp
+ENTRYPOINT ["smbd", "--foreground", "--no-process-group", "--log-stdout"] diff --git a/container/initrd-cifs/build b/container/initrd-cifs/build new file mode 100755 index 0000000..ca9de39 --- /dev/null +++ b/container/initrd-cifs/build @@ -0,0 +1,5 @@ +#!/bin/bash +# SPDX-License-Identifier: MulanPSL-2.0+ +# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved.
+docker build -t alpine/initrd-cifs . diff --git a/container/initrd-cifs/smb.conf b/container/initrd-cifs/smb.conf new file mode 100644 index 0000000..eaddef7 --- /dev/null +++ b/container/initrd-cifs/smb.conf @@ -0,0 +1,38 @@ +# refer to https://lkml.org/lkml/2019/7/16/716 and https://lkml.org/lkml/2019/9/19/586 +[global]
- workgroup = MYGROUP
- server string = Samba Server
- map to guest = Bad User
- load printers = no
- printing = bsd
- printcap name = /dev/null
- disable spoolss = yes
- disable netbios = yes
- server role = standalone
- server services = -dns, -nbt
- smb ports = 445
- create mode = 0777
- directory mode = 0777
- guest only = yes
- guest ok = yes
- server min protocol = NT1
- unix extensions = yes
- mangled names = no
+[initrd]
- path = /srv/initrd/
- comment = initrd
- browseable = yes
- writable = yes
- public = yes
- force user = lkp
- force group = lkp
+[osimage]
- path = /srv/initrd/
- comment = osimage
- browseable = yes
- writable = yes
- public = yes
- force user = lkp
- force group = lkp
diff --git a/container/initrd-cifs/start b/container/initrd-cifs/start new file mode 100755 index 0000000..7232bdf --- /dev/null +++ b/container/initrd-cifs/start @@ -0,0 +1,24 @@ +#!/bin/bash +# SPDX-License-Identifier: MulanPSL-2.0+ +# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved.
+. $CCI_SRC/container/defconfig.sh
+lsmod | grep -q "^cifs\s" || {
- sudo modprobe cifs
+}
+docker_rm initrd-cifs
+cmd=(
- docker run
- -d
- -p 446:445
- -v /etc/localtime:/etc/localtime:ro
- -v /srv/initrd:/srv/initrd
- --name initrd-cifs
- --restart=always
- alpine/initrd-cifs
+)
+"${cmd[@]}"
2.23.0
On Thu, Nov 12, 2020 at 08:41:41PM +0800, Xu Xijian wrote:
On Thu, Nov 12, 2020 at 07:08:08PM +0800, Xiao Shenwei wrote:
[why] our os-cifs container will mount three dir, /srv/os /srv/initrd /srv/result it's may cause:
- our cifs service becomes slow
- if the container exit, none of the three folders can be accessed.
in order to reduce the coupling, need split them
Here needs a blank line.
[how] one folder mount by one container
ditto.
ok
Thanks, Shenwei
Thanks, Xijian
[Usage]: Two ways for the client to mount initrd:
- initrd.
mount -t cifs -o guest,port=446 //ip/initrd /tmp/initrd 2. osimage. mount -t cifs -o guest,port=446 //ip/osimage /tmp/osimage
Signed-off-by: Xiao Shenwei xiaoshenwei96@163.com
container/initrd-cifs/Dockerfile | 22 ++++++++++++++++++ container/initrd-cifs/build | 5 +++++ container/initrd-cifs/smb.conf | 38 ++++++++++++++++++++++++++++++++ container/initrd-cifs/start | 24 ++++++++++++++++++++ 4 files changed, 89 insertions(+) create mode 100644 container/initrd-cifs/Dockerfile create mode 100755 container/initrd-cifs/build create mode 100644 container/initrd-cifs/smb.conf create mode 100755 container/initrd-cifs/start
diff --git a/container/initrd-cifs/Dockerfile b/container/initrd-cifs/Dockerfile new file mode 100644 index 0000000..341bfc9 --- /dev/null +++ b/container/initrd-cifs/Dockerfile @@ -0,0 +1,22 @@ +# Origin: https://github.com/Stanback/alpine-samba +# Copyright (C) 2016-2020 Eric D. Stanback +# SPDX-License-Identifier: GPL-3.0
+FROM alpine:edge
+MAINTAINER Xiao Shenwei xiaoshenwei96@163.com
+RUN sed -ri.origin 's|^https?://dl-cdn.alpinelinux.org|http://mirrors.huaweicloud.com%7Cg' /etc/apk/repositories +RUN adduser -u 1090 -D lkp +RUN apk add --update \
- samba-common-tools \
- samba-client \
- samba-server \
- bash && \
- rm -rf /var/cache/apk/*
+COPY ./smb.conf /etc/samba/
+EXPOSE 446/tcp
+ENTRYPOINT ["smbd", "--foreground", "--no-process-group", "--log-stdout"] diff --git a/container/initrd-cifs/build b/container/initrd-cifs/build new file mode 100755 index 0000000..ca9de39 --- /dev/null +++ b/container/initrd-cifs/build @@ -0,0 +1,5 @@ +#!/bin/bash +# SPDX-License-Identifier: MulanPSL-2.0+ +# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved.
+docker build -t alpine/initrd-cifs . diff --git a/container/initrd-cifs/smb.conf b/container/initrd-cifs/smb.conf new file mode 100644 index 0000000..eaddef7 --- /dev/null +++ b/container/initrd-cifs/smb.conf @@ -0,0 +1,38 @@ +# refer to https://lkml.org/lkml/2019/7/16/716 and https://lkml.org/lkml/2019/9/19/586 +[global]
- workgroup = MYGROUP
- server string = Samba Server
- map to guest = Bad User
- load printers = no
- printing = bsd
- printcap name = /dev/null
- disable spoolss = yes
- disable netbios = yes
- server role = standalone
- server services = -dns, -nbt
- smb ports = 445
- create mode = 0777
- directory mode = 0777
- guest only = yes
- guest ok = yes
- server min protocol = NT1
- unix extensions = yes
- mangled names = no
+[initrd]
- path = /srv/initrd/
- comment = initrd
- browseable = yes
- writable = yes
- public = yes
- force user = lkp
- force group = lkp
+[osimage]
- path = /srv/initrd/
- comment = osimage
- browseable = yes
- writable = yes
- public = yes
- force user = lkp
- force group = lkp
diff --git a/container/initrd-cifs/start b/container/initrd-cifs/start new file mode 100755 index 0000000..7232bdf --- /dev/null +++ b/container/initrd-cifs/start @@ -0,0 +1,24 @@ +#!/bin/bash +# SPDX-License-Identifier: MulanPSL-2.0+ +# Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved.
+. $CCI_SRC/container/defconfig.sh
+lsmod | grep -q "^cifs\s" || {
- sudo modprobe cifs
+}
+docker_rm initrd-cifs
+cmd=(
- docker run
- -d
- -p 446:445
- -v /etc/localtime:/etc/localtime:ro
- -v /srv/initrd:/srv/initrd
- --name initrd-cifs
- --restart=always
- alpine/initrd-cifs
+)
+"${cmd[@]}"
2.23.0