Python
Python 为主语言的开源软件
runlike ---> 给出现有容器的运行参数
和 docker-autocompose 类似,给出现有容器的运行参数,但安装方法要简单地多
$ pip install runlike
$ runlike [容器ID]还有不同的地方是 runlike 输出 docker run 的参数,而 docker-autocompose 输出的是 docker-compose.yaml 的配置
我这里给出一个输出我的某个 docker 容器的配置作为参考。
$ runlike 84698452793e
docker run \
--name=nextcloud-1 \
--hostname=nextcloud-1 \
--mac-address=02:42:ac:11:00:08 \
--volume /var/www/html \
--network=bridge \
--workdir=/var/www/html \
-p 5757:80 \
--log-driver=db \
--runtime=runc \
--detach=true \
-t nextcloud:latest \
apache2-foreground$ poetry run autocompose 84698452793e
services:
nextcloud-1:
command:
- "apache2-foreground"
container_name: "nextcloud-1"
entrypoint:
- "/entrypoint.sh"
environment:
- "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- "PHPIZE_DEPS=autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config\
\ \t\tre2c"
- "PHP_INI_DIR=/usr/local/etc/php"
- "APACHE_CONFDIR=/etc/apache2"
- "APACHE_ENVVARS=/etc/apache2/envvars"
- "PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
- "PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
- "PHP_LDFLAGS=-Wl,-O1 -pie"
- "GPG_KEYS=39B641343D8C104B2B146DC3F9C39DC0B9698544 E60913E4DF209907D8E30D96659A97C9CF2A795A 1198C0117593497A5EC5C199286AF1F9897469DC"
- "PHP_VERSION=8.2.25"
- "PHP_URL=https://www.php.net/distributions/php-8.2.25.tar.xz"
- "PHP_ASC_URL=https://www.php.net/distributions/php-8.2.25.tar.xz.asc"
- "PHP_SHA256=330b54876ea1d05ade12ee9726167332058bccd58dffa1d4e12117f6b4f616b9"
- "PHP_MEMORY_LIMIT=512M"
- "PHP_UPLOAD_LIMIT=512M"
- "APACHE_BODY_LIMIT=1073741824"
- "NEXTCLOUD_VERSION=30.0.1"
hostname: "nextcloud-1"
image: "nextcloud:latest"
ipc: "private"
logging:
driver: "db"
options: {}
mac_address: "02:42:ac:11:00:08"
network_mode: "bridge"
ports:
- "5757:80/tcp"
stdin_open: true
tty: true
volumes:
- "fe261b944392447f79965b27c23490e6e09402ee60a9cfb8310d762fe710eff7:/var/www/html"
working_dir: "/var/www/html"
version: "3.6"
volumes:
fe261b944392447f79965b27c23490e6e09402ee60a9cfb8310d762fe710eff7:
external: true看得出来,docker-autocompose 的输出更详细和丰富
wttr.in ---> 天气预报
最简单的玩法就是直接通过在命令行中执行 curl wttr.in 命令即可查看当前地区的天气预报
$ curl wttr.inWeather report: Beijing, China
\ / Clear
.-. -1(-4) °C
― ( ) ― ↘ 7 km/h
`-’ 10 km
/ \ 0.0 mm
┌─────────────┐
┌──────────────────────────────┬───────────────────────┤ Fri 03 Jan ├───────────────────────┬──────────────────────────────┐
│ Morning │ Noon └──────┬──────┘ Evening │ Night │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ \ / Sunny │ \ / Sunny │ \ / Clear │ \ / Clear │
│ .-. -2(-3) °C │ .-. +2(1) °C │ .-. 2 °C │ .-. 0(-1) °C │
│ ― ( ) ― ↘ 4-5 km/h │ ― ( ) ― ↘ 4 km/h │ ― ( ) ― ← 1-3 km/h │ ― ( ) ― ↓ 3-6 km/h │
│ `-’ 10 km │ `-’ 10 km │ `-’ 10 km │ `-’ 10 km │
│ / \ 0.0 mm | 0% │ / \ 0.0 mm | 0% │ / \ 0.0 mm | 0% │ / \ 0.0 mm | 0% │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
┌─────────────┐
┌──────────────────────────────┬───────────────────────┤ Sat 04 Jan ├───────────────────────┬──────────────────────────────┐
│ Morning │ Noon └──────┬──────┘ Evening │ Night │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ \ / Sunny │ \ / Sunny │ \ / Clear │ Overcast │
│ .-. -1 °C │ .-. 3 °C │ .-. 3 °C │ .--. 2 °C │
│ ― ( ) ― ↘ 3-5 km/h │ ― ( ) ― ↗ 1-2 km/h │ ― ( ) ― ↑ 3-5 km/h │ .-( ). → 1-2 km/h │
│ `-’ 10 km │ `-’ 10 km │ `-’ 10 km │ (___.__)__) 10 km │
│ / \ 0.0 mm | 0% │ / \ 0.0 mm | 0% │ / \ 0.0 mm | 0% │ 0.0 mm | 0% │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
┌─────────────┐
┌──────────────────────────────┬───────────────────────┤ Sun 05 Jan ├───────────────────────┬──────────────────────────────┐
│ Morning │ Noon └──────┬──────┘ Evening │ Night │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ \ / Partly Cloudy │ \ / Sunny │ \ / Clear │ \ / Clear │
│ _ /"".-. 0(-2) °C │ .-. +5(2) °C │ .-. +4(2) °C │ .-. +3(-1) °C │
│ \_( ). ↓ 7-11 km/h │ ― ( ) ― ↘ 12-15 km/h │ ― ( ) ― ↘ 8-14 km/h │ ― ( ) ― ↘ 13-22 km/h │
│ /(___(__) 10 km │ `-’ 10 km │ `-’ 10 km │ `-’ 10 km │
│ 0.0 mm | 0% │ / \ 0.0 mm | 0% │ / \ 0.0 mm | 0% │ / \ 0.0 mm | 0% │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘docker-autocompose ---> 导出容器的 yaml 配置
从正在运行的容器中导出 docker-compose.yaml 配置,非常利于迁移。例如将已有的正在运行的 docker 容器的管理迁移到 dockge 上
在群辉 Nas 的安装过程,官方首推的安装方式:
安装 python3/pip3
在群辉的 Package Center 安装 python。而 pip3 的安装需要我们手动进行
$ wget https://bootstrap.pypa.io/get-pip.py
$ python3 get-pip.py
$ pip3 install pyaml # 必要模块安装 poetry
安装完后,添加 export PATH="/root/.local/bin:$PATH" 到 /etc/profile 中,执行 source /etc/profile 重新加载
$ curl -sSL https://install.python-poetry.org | python3 -构建项目和使用
克隆项目,安装依赖
$ git clone git@github.com:Red5d/docker-autocompose.git --depth=1
$ cd docker-autocompose/ && poetry install通过 poetry run autocompose [容器ID] 命令即可查看对应容器生成的 docker-compose.yaml 配置