Skip to content

Commit f35ac59

Browse files
committed
opbuilder: add env ENABLE_CHOWN
1 parent 50aefd1 commit f35ac59

4 files changed

Lines changed: 20 additions & 11 deletions

File tree

opbuilder/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
77
TZ=Asia/Shanghai \
88
PUID=1000 \
99
PGID=1000 \
10+
ENABLE_CHOWN=false \
1011
USERNAME=evine
1112
RUN echo "change repo..." \
1213
&& sed -i 's/archive.ubuntu.com/mirrors.bfsu.edu.cn/g' /etc/apt/sources.list \
@@ -83,6 +84,7 @@ RUN echo "change repo..." \
8384
python2.7 \
8485
python3 \
8586
python3-pyelftools \
87+
python3-setuptools \
8688
qemu-utils \
8789
rsync \
8890
scons \

opbuilder/README.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
用来编译openwrt的容器,容器中已含有全部编译的依赖项,创建的配置如下:
1+
用来编译 openwrt / lede 的容器,容器中已含有全部编译的依赖项,创建的配置如下:
22

33
```yaml
44
version: "3.8"
@@ -13,17 +13,19 @@ services:
1313
- .:/home/evine
1414
init: true
1515
environment:
16-
PUID: 1000 # 如果需要使用其他uid的用户来编译,请修改为对应用户的uid
17-
PGID: 1000 # 如果需要使用其他gid的用户来编译,请修改为对应用户的gid
16+
PUID: 1000 # 默认1000,如果需要使用其他uid的用户来编译,请修改为对应用户的uid
17+
PGID: 1000 # 默认1000,如果需要使用其他gid的用户来编译,请修改为对应用户的gid
18+
ENABLE_CHOWN: false # 默认false,不重新设置文件所有者,如遇文件权限问题,请设置为true,将在创建后重新设置映射文件夹的权限
1819
```
1920
20-
也可以按需修改下列命令中`$(pwd)` `PUID` `PGID`来创建:
21+
也可以按需修改下列命令中`$(pwd)` `PUID` `PGID` `ENABLE_CHOWN`来创建:
2122

2223
```shell
2324
docker run -d \
2425
--volume $(pwd):/home/evine \
25-
--env PUID=1000 \
26-
--env PGID=1000 \
26+
--env PUID=1000 `# 默认1000,如果需要使用其他uid的用户来编译,请修改为对应用户的uid` \
27+
--env PGID=1000 `# 默认1000,如果需要使用其他gid的用户来编译,请修改为对应用户的gid` \
28+
--env ENABLE_CHOWN=false `# 默认false,不重新设置文件所有者,如遇文件权限问题,请设置为true,将在创建后重新设置映射文件夹的权限` \
2729
--restart unless-stopped \
2830
--hostname opbuilder \
2931
--name opbuilder \
@@ -59,8 +61,9 @@ source $ZSH/oh-my-zsh.sh
5961
docker run -d \
6062
--rm \
6163
--volume $(pwd):/home/evine \
62-
--env PUID=1000 `#默认1000,如果保持默认可以不要本行` \
63-
--env PGID=1000 `#默认1000,如果保持默认可以不要本行` \
64+
--env PUID=1000 `# 默认1000,如果保持默认可以不要本行` \
65+
--env PGID=1000 `# 默认1000,如果保持默认可以不要本行` \
66+
--env ENABLE_CHOWN=false `# 默认false,不重新设置文件所有者,如果保持默认可以不要本行` \
6467
nevinee/opbuilder \
6568
bash /home/evine/your_script.sh #只要带上command即可,运行完你的脚本后会直接删除容器
6669
```

opbuilder/compose.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@ services:
1010
- .:/home/evine
1111
init: true
1212
environment:
13-
PUID: 1000 # 如果需要使用其他uid的用户来编译,请修改为对应用户的uid
14-
PGID: 1000 # 如果需要使用其他gid的用户来编译,请修改为对应用户的gid
13+
PUID: 1000 # 默认1000,如果需要使用其他uid的用户来编译,请修改为对应用户的uid
14+
PGID: 1000 # 默认1000,如果需要使用其他gid的用户来编译,请修改为对应用户的gid
15+
ENABLE_CHOWN: false # 默认false,不重新设置文件所有者,如遇文件权限问题,请设置为true,将在创建后重新设置映射文件夹的权限

opbuilder/entrypoint.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@ sudo update-ca-certificates
66

77
sudo groupmod -o -g "${PGID}" $USERNAME
88
sudo usermod -o -u "${PUID}" $USERNAME
9-
sudo chown -R "${PGID}:${PUID}" /home/$USERNAME
9+
10+
if [[ $ENABLE_CHOWN == true ]]; then
11+
sudo chown -R "${PGID}:${PUID}" /home/$USERNAME
12+
fi
1013

1114
if [[ -z $cmd ]]; then
1215
exec tail -f /dev/null

0 commit comments

Comments
 (0)