{"id":34119473,"url":"https://github.com/wzhck/mydocker","last_synced_at":"2026-03-10T18:09:04.564Z","repository":{"id":53094150,"uuid":"164764786","full_name":"wzhck/mydocker","owner":"wzhck","description":":whale: Implements a docker-like container runtime just for fun.","archived":false,"fork":false,"pushed_at":"2022-01-06T06:40:24.000Z","size":1338,"stargazers_count":17,"open_issues_count":1,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-07-10T11:39:17.225Z","etag":null,"topics":["cgroups","container","docker","golang","namespace"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wzhck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-01-09T01:43:51.000Z","updated_at":"2023-06-23T17:11:21.000Z","dependencies_parsed_at":"2022-08-27T03:16:02.235Z","dependency_job_id":null,"html_url":"https://github.com/wzhck/mydocker","commit_stats":null,"previous_names":["weikeit/mydocker"],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/wzhck/mydocker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzhck%2Fmydocker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzhck%2Fmydocker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzhck%2Fmydocker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzhck%2Fmydocker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wzhck","download_url":"https://codeload.github.com/wzhck/mydocker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzhck%2Fmydocker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27736590,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-14T02:00:11.348Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cgroups","container","docker","golang","namespace"],"created_at":"2025-12-14T21:10:25.593Z","updated_at":"2025-12-14T21:10:28.331Z","avatar_url":"https://github.com/wzhck.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Mydocker Project\n\n![Mydocker Project Logo](doc/picture/logo.png \"The Mydocker Project\")\n\nMydocker (get inspired from [mydocker](https://github.com/xianlubird/mydocker) project) is a docker-like container runtime written in Go.\n\nThis is just an experimental cli tool, which implements lowlevel techniques such as `cgroups`, `namespace`, `unionFS` (`aufs`, `overlay2`), `virtual networks` (`veth`, `bridge`), `iptables`, and etc. Notes that, implement a daemon service is not an emergency requirements of mydocker project right now.\n\n## Environment Requirements\n\n- [Ubuntu](https://www.ubuntu.com/download/server) 16.04/18.04 LTS\n- [Docker-CE](https://docs.docker.com/install/linux/docker-ce/ubuntu/) latest stable version\n- [Go](https://golang.org/dl/) latest stable version\n- [Gcc](https://gcc.gnu.org/) compile `cgo` codes\n\n## Install Mydocker From GitHub\n\n```bash\n$ go get -u github.com/weikeit/mydocker\n```\n\n## Overview of Mydocker Command\n\n```bash\n$ mydocker -h\nNAME:\n   mydocker - mydocker is a simple container runtime implementation.\nThe purpose of this project is to learn how docker works and how to\nwrite a docker-like container runtime by ourselves, enjoy it!\n\nUSAGE:\n   mydocker [global options] command [command options] [arguments...]\n\nVERSION:\n   0.0.0\n\nCOMMANDS:\n     run       Create a new mydocker container\n     ps        List all containers on the host\n     logs      Show all the logs of a container\n     exec      Run a command in a running container\n     stop      Stop one or more containers\n     start     Start one or more containers\n     restart   Restart one or more containers\n     rm        Remove one or more containers\n     rmn       Remove one or more networks\n     rmi       Remove one or more images\n     pull      Pull an image from a registry\n     inspect   Print information of mydocker objects\n     networks  List networks on the host\n     images    List images on the host\n     network   Manage container networks\n     image     Manage container images\n     help, h   Shows a list of commands or help for one command\n\nGLOBAL OPTIONS:\n   --debug        print mydocker debug logs\n   --help, -h     show help\n   --version, -v  print the version\n```\n\n## Manage Mydocker Images\n\n### pull a new image from a registry\n\n```bash\n$ mydocker pull mysql:5.7.25\n$ mydocker image pull mysql:5.7.25\n5.7.25: Pulling from library/mysql\n......\nStatus: Downloaded newer image for mysql:5.7.25\n```\n\n### list images on this host\n\n```bash\n$ mydocker images\n$ mydocker image list\nIMAGE ID       REPO    TAG      COUNTS   CREATED               SIZE\n141eda20897f   mysql   5.7.25   0        2019-01-25 09:43:22   354.9 MB\n```\n\n### remove one or more images\n\n```bash\n# can't remove images whose counts \u003e 0\n$ mydocker rmi mysql:5.7.25\n$ mydocker image rm 141eda20897f\n```\n\n## Manage Mydocker Networks\n\n### create a new network\n\n```bash\n$ mydocker network create -s 10.10.1.0/24 subnet1\n```\n\n### list networks on this host\n\n```bash\n$ mydocker networks\n$ mydocker network list\nNAME        IPNETS          GATEWAY      COUNTS   DRIVER   CREATED\nmydocker0   10.20.30.0/24   10.20.30.1   0        bridge   2019-01-25 09:42:13\nsubnet1     10.10.1.0/24    10.10.1.1    0        bridge   2019-01-25 09:44:38\n```\n\n### remove one or more networks\n\n```bash\n# can't remove networks whose counts \u003e 0\n$ mydocker rmn subnet1\n$ mydocker network rm subnet1\n```\n\n## Manage Mydocker Containers\n\n### run a new container\n\n```bash\n$ mydocker run -h\nNAME:\n   mydocker run - Create a new mydocker container\n\nUSAGE:\n   mydocker run [command options] [arguments...]\n\nOPTIONS:\n   --detach, -d                      Run the container in background\n   --name value, -n value            Assign a name to the container\n   --hostname value                  Set hostname in the container\n   --dns value                       Set DNS servers in the container (default: \"8.8.8.8\", \"8.8.4.4\")\n   --image value, -i value           The image to be used (name or id)\n   --env value, -e value             Set environment variables, e.g. -e key=value\n   --volume value, -v value          Bind a local directory/file, e.g. -v /src:/dst\n   --network value, --net value      Connect the container to a network (none to disable)\n   --publish value, -p value         Publish the container's port(s) to the host\n   --storage-driver value, -s value  Storage driver to be used (default: \"overlay2\")\n   --cpu-cfs-period value            Limit CPU CFS (Completely Fair Scheduler) period in us (default: 200000)\n   --cpu-cfs-quota value             Limit CPU CFS (Completely Fair Scheduler) quota in us (default: 200000)\n   --cpu-rt-period value             Limit CPU Real-Time Scheduler period in us (default: 1000000)\n   --cpu-rt-runtime value            Limit CPU Real-Time Scheduler runtime in us (default: 950000)\n   --cpu-shares value, -c value      CPU shares (relative weight) (default: 1024)\n   --cpuset-cpus value               CPUs in which to allow execution (0-3, 0,1) (default: \"0-7\")\n   --cpuset-mems value               MEMs in which to allow execution (0-3, 0,1) (default: \"0-0\")\n   --memory-limit value              Memory limit in bytes; -1 indicates unlimited (default: -1)\n   --memory-soft-limit value         Memory soft limit in bytes; -1 indicates unlimited (default: -1)\n   --memory-swap-limit value         Swap limit equals to memory plus swap; -1 indicates unlimited (default: -1)\n   --memory-swappiness value         Tune container memory swappiness (range [0, 100]) (default: 60)\n   --oom-kill-disable                Disable oom killer, i.e., process will be hung if oom, NOT killed\n   --kernel-memory-limit value       Kernel memory limit in bytes; -1 indicates unlimited (default: -1)\n   --kernel-memory-tcp-limit value   Kernel memory tcp limit in bytes; -1 indicates unlimited (default: -1)\n   --pids-max value                  Limit pids number in container; 0 indicates unlimited (default: 0)\n```\n\ne.g., run a mysql container using official mysql image:\n\n```bash\n$ mydocker run -d \\\n           -p 8036:3306 \\\n           -i mysql:5.7.25 \\\n           -e MYSQL_ROOT_PASSWORD=r00tme \\\n           -e MYSQL_DATABASE=testdb \\\n           -e MYSQL_USER=testuser \\\n           -e MYSQL_PASSWORD=r00test \\\n           -v /root/mysql:/var/lib/mysql \\\n           --name mysql-test \\\n           --hostname mysql-test \\\n           --cpu-cfs-period 200000 \\\n           --cpu-cfs-quota 500000 \\\n           --cpu-shares 2048 \\\n           --cpuset-cpus 1-2 \\\n           --cpuset-mems 0 \\\n           --memory-limit 512000000 \\\n           --memory-soft-limit 1024000000 \\\n           --pids-max 100\n```\n\n### list containers on this host\n\n```bash\n$ mydocker ps\nCONTAINER ID   NAME         IMAGE          STATUS    DRIVER     PID     COMMAND                         IPS          PORTS        CREATED\n4f2322145e66   mysql-test   mysql:5.7.25   running   overlay2   30942   [docker-entrypoint.sh mysqld]   10.20.30.2   8036-\u003e3306   2019-01-25 09:46:04\n```\n\n### show logs of a container\n\n```bash\n$ mydocker logs mysql-test\nInitializing database\n......\ntoo long messages\n......\n```\n\ntips: add the `-f` option to follow the logs' output:\n\n```bash\n$ mydocker logs -f mysql-test\n2019-01-25T01:46:22.324979Z 0 [Warning] 'user' entry 'mysql.session@localhost' ignored in --skip-name-resolve mode.\n2019-01-25T01:46:22.325012Z 0 [Warning] 'user' entry 'mysql.sys@localhost' ignored in --skip-name-resolve mode.\n2019-01-25T01:46:22.325077Z 0 [Warning] 'db' entry 'performance_schema mysql.session@localhost' ignored in --skip-name-resolve mode.\n2019-01-25T01:46:22.325094Z 0 [Warning] 'db' entry 'sys mysql.sys@localhost' ignored in --skip-name-resolve mode.\n2019-01-25T01:46:22.325129Z 0 [Warning] 'proxies_priv' entry '@ root@localhost' ignored in --skip-name-resolve mode.\n2019-01-25T01:46:22.331095Z 0 [Warning] 'tables_priv' entry 'user mysql.session@localhost' ignored in --skip-name-resolve mode.\n2019-01-25T01:46:22.331138Z 0 [Warning] 'tables_priv' entry 'sys_config mysql.sys@localhost' ignored in --skip-name-resolve mode.\n2019-01-25T01:46:22.350515Z 0 [Note] Event Scheduler: Loaded 0 events\n2019-01-25T01:46:22.350895Z 0 [Note] mysqld: ready for connections.\nVersion: '5.7.25'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server (GPL)\n[waiting for new log messages]......\n```\n\n### execute a command in the container\n\n```bash\n$ mydocker exec mysql-test -- mysql -uroot -pr00tme -e 'show databases;'\nmysql: [Warning] Using a password on the command line interface can be insecure.\n+--------------------+\n| Database           |\n+--------------------+\n| information_schema |\n| mysql              |\n| performance_schema |\n| sys                |\n| testdb             |\n+--------------------+\n$ mydocker exec mysql-test bash\nroot@mysql-test:/# mysql -utestuser -pr00test -e 'show databases;'\nmysql: [Warning] Using a password on the command line interface can be insecure.\n+--------------------+\n| Database           |\n+--------------------+\n| information_schema |\n| testdb             |\n+--------------------+\n```\n\n### access mysql via `hostIP:8036` on other host\n\n```bash\n# container mysql-test is running on 192.168.31.153\n# run mysql command (192.168.31.146) to access it\n$ mysql -h 192.168.31.153 -P 8036 -utestuser -pr00test -e 'show databases;'\nmysql: [Warning] Using a password on the command line interface can be insecure.\n+--------------------+\n| Database           |\n+--------------------+\n| information_schema |\n| testdb             |\n+--------------------+\n```\n\n### (dis)connect a netowrk to a container\n\ncreate a new virtual network interface connected to subnet1 to mysql-test container:\n\n```bash\n$ mydocker network connect subnet1 mysql-test\n$ CONTAINER ID   NAME         IMAGE          STATUS    DRIVER     PID     COMMAND                         IPS                     PORTS        CREATED\n  4f2322145e66   mysql-test   mysql:5.7.25   running   overlay2   30942   [docker-entrypoint.sh mysqld]   10.20.30.2, 10.10.1.2   8036-\u003e3306   2019-01-25 09:46:04\n$ mydocker exec mysql-test bash\n# the official mysql image doesn't install iproute2 package.\nroot@mysql-test:/# apt-get update \u0026\u0026 apt-get install iproute2 -y\n......\nroot@mysql-test:/# ip addr\n1: lo: \u003cLOOPBACK,UP,LOWER_UP\u003e mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000\n    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\n    inet 127.0.0.1/8 scope host lo\n       valid_lft forever preferred_lft forever\n    inet6 ::1/128 scope host\n       valid_lft forever preferred_lft forever\n22: ceth-f0573c58@if23: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qdisc noqueue state UP group default qlen 1000\n    link/ether 4e:70:8b:1c:2b:6d brd ff:ff:ff:ff:ff:ff link-netnsid 0\n    inet 10.20.30.2/24 brd 10.20.30.255 scope global ceth-f0573c58\n       valid_lft forever preferred_lft forever\n    inet6 fe80::4c70:8bff:fe1c:2b6d/64 scope link\n       valid_lft forever preferred_lft forever\n24: ceth-67674376@if25: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qdisc noqueue state UP group default qlen 1000\n    link/ether 8e:c5:e9:96:c1:34 brd ff:ff:ff:ff:ff:ff link-netnsid 0\n    inet 10.10.1.2/24 brd 10.10.1.255 scope global ceth-67674376\n       valid_lft forever preferred_lft forever\n    inet6 fe80::8cc5:e9ff:fe96:c134/64 scope link\n       valid_lft forever preferred_lft forever\n```\n\nremove the virtual network interface connected to subnet1 from mysql-test container:\n\n```bash\n$ mydocker network disconnect subnet1 mysql-test\n$ mydocker exec mysql-test ip addr\n1: lo: \u003cLOOPBACK,UP,LOWER_UP\u003e mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000\n    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00\n    inet 127.0.0.1/8 scope host lo\n       valid_lft forever preferred_lft forever\n    inet6 ::1/128 scope host\n       valid_lft forever preferred_lft forever\n26: ceth-f0573c58@if23: \u003cBROADCAST,MULTICAST,UP,LOWER_UP\u003e mtu 1500 qdisc noqueue state UP group default qlen 1000\n    link/ether aa:d1:f5:4b:19:12 brd ff:ff:ff:ff:ff:ff link-netnsid 0\n    inet 10.20.30.2/24 brd 10.20.30.255 scope global ceth-f0573c58\n       valid_lft forever preferred_lft forever\n    inet6 fe80::a8d1:f5ff:fe4b:1912/64 scope link\n       valid_lft forever preferred_lft forever\n```\n\n### stop/start/restart/remove one or more containers\n\n```bash\n$ mydocker stop mysql-test\n4f2322145e66\n$ mydocker start mysql-test\n4f2322145e66\n$ mydocker restart mysql-test\n4f2322145e66\n4f2322145e66\n$ mydocker rm mysql-test\n4f2322145e66\n```\n\n## use `--debug` option of mydocker to show debug logs\n\n```bash\n$ mydocker --debug exec mysql-test -- mysql -uroot -pr00tme -e 'show databases;'\n[2019-01-25 09:55:03] DEBUG initing networks only once before each mydocker command\n[2019-01-25 09:55:03] DEBUG found a network mydocker0 of driver bridge\n[2019-01-25 09:55:03] DEBUG initing network mydocker0 of driver bridge\n[2019-01-25 09:55:03] DEBUG create the network mydocker0 of bridge driver with iprange 10.20.30.0/24\n[2019-01-25 09:55:03] DEBUG the ip addr '10.20.30.1/24' on the interface 'mydocker0' already exists\n[2019-01-25 09:55:03] DEBUG set the interface mydocker0 up\n[2019-01-25 09:55:03] DEBUG found a network subnet1 of driver bridge\n[2019-01-25 09:55:03] DEBUG initing network subnet1 of driver bridge\n[2019-01-25 09:55:03] DEBUG create the network subnet1 of bridge driver with iprange 10.10.1.0/24\n[2019-01-25 09:55:03] DEBUG the ip addr '10.10.1.1/24' on the interface 'subnet1' already exists\n[2019-01-25 09:55:03] DEBUG set the interface subnet1 up\n[2019-01-25 09:55:03] DEBUG found existed networks:\n{\n    \"mydocker0\": {\n        \"IPNet\": \"10.20.30.0/24\",\n        \"Gateway\": \"10.20.30.1\",\n        \"Name\": \"mydocker0\",\n        \"Counts\": 1,\n        \"Driver\": \"bridge\",\n        \"CreateTime\": \"2019-01-25 09:42:13\"\n    },\n    \"subnet1\": {\n        \"IPNet\": \"10.10.1.0/24\",\n        \"Gateway\": \"10.10.1.1\",\n        \"Name\": \"subnet1\",\n        \"Counts\": 0,\n        \"Driver\": \"bridge\",\n        \"CreateTime\": \"2019-01-25 09:44:38\"\n    }\n}\n[2019-01-25 09:55:03] DEBUG will execute command \u003cmysql -uroot -pr00tme -e 'show databases;'\u003e in the container (pid: 30942)\ngot the env container_pid: 30942\ngot the env container_cmd: mysql -uroot -pr00tme -e 'show databases;'\ngot the env cgroup_root: /sys/fs/cgroup\ngot the env cgroup_path: /mydocker/4f2322145e66\nadd the process 32176 to /sys/fs/cgroup/cpu/mydocker/4f2322145e66/cgroup.procs\nadd the process 32176 to /sys/fs/cgroup/cpuset/mydocker/4f2322145e66/cgroup.procs\nadd the process 32176 to /sys/fs/cgroup/memory/mydocker/4f2322145e66/cgroup.procs\nadd the process 32176 to /sys/fs/cgroup/blkio/mydocker/4f2322145e66/cgroup.procs\nadd the process 32176 to /sys/fs/cgroup/devices/mydocker/4f2322145e66/cgroup.procs\nadd the process 32176 to /sys/fs/cgroup/pids/mydocker/4f2322145e66/cgroup.procs\nadd the process 32176 to /sys/fs/cgroup/net_cls/mydocker/4f2322145e66/cgroup.procs\nadd the process 32176 to /sys/fs/cgroup/net_prio/mydocker/4f2322145e66/cgroup.procs\nadd the process 32176 to /sys/fs/cgroup/freezer/mydocker/4f2322145e66/cgroup.procs\nadd the process 32176 to /sys/fs/cgroup/hugetlb/mydocker/4f2322145e66/cgroup.procs\nset the process 32176 to namespace ipc\nset the process 32176 to namespace uts\nset the process 32176 to namespace net\nset the process 32176 to namespace pid\nset the process 32176 to namespace mnt\nmysql: [Warning] Using a password on the command line interface can be insecure.\n+--------------------+\n| Database           |\n+--------------------+\n| information_schema |\n| mysql              |\n| performance_schema |\n| sys                |\n| testdb             |\n+--------------------+\n```\n\n## use `inspect` subcommand to show lowlevel info of mydocker object\n\n```bash\n$ mydocker inspect mysql:5.7.25 mysql-test\nShowing mysql:5.7.25 as a image:\n{\n    \"Uuid\": \"141eda20897f\",\n    \"Size\": \"354.9 MB\",\n    \"Counts\": 1,\n    \"RepoTag\": \"mysql:5.7.25\",\n    \"WorkingDir\": \"\",\n    \"CreateTime\": \"2019-01-25 09:43:22\",\n    \"Entrypoint\": [\n        \"docker-entrypoint.sh\"\n    ],\n    \"Command\": [\n        \"mysqld\"\n    ],\n    \"Envs\": [\n        \"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\",\n        \"GOSU_VERSION=1.7\",\n        \"MYSQL_MAJOR=5.7\",\n        \"MYSQL_VERSION=5.7.25-1debian9\"\n    ]\n}\nShowing mysql-test as a container:\n{\n    \"Detach\": true,\n    \"Uuid\": \"4f2322145e66\",\n    \"Name\": \"mysql-test\",\n    \"Hostname\": \"mysql-test\",\n    \"Dns\": [\n        \"8.8.8.8\",\n        \"8.8.4.4\"\n    ],\n    \"Image\": \"mysql:5.7.25\",\n    \"CreateTime\": \"2019-01-25 09:46:04\",\n    \"Status\": \"running\",\n    \"StorageDriver\": \"overlay2\",\n    \"Rootfs\": {\n        \"ContainerDir\": \"/var/lib/mydocker/containers/4f2322145e66\",\n        \"ImageDir\": \"/var/lib/mydocker/images/141eda20897f\",\n        \"WriteDir\": \"/var/lib/mydocker/containers/4f2322145e66/diff\",\n        \"MergeDir\": \"/var/lib/mydocker/containers/4f2322145e66/merged\"\n    },\n    \"Commands\": [\n        \"docker-entrypoint.sh\",\n        \"mysqld\"\n    ],\n    \"Cgroups\": {\n        \"Pid\": 30942,\n        \"Path\": \"/mydocker/4f2322145e66\",\n        \"Resources\": {\n            \"CpuCfsPeriod\": 200000,\n            \"CpuCfsQuota\": 500000,\n            \"CpuRtPeriod\": 1000000,\n            \"CpuRtRuntime\": 950000,\n            \"CpuShares\": 2048,\n            \"CpusetCpus\": \"1-2\",\n            \"CpusetMems\": \"0\",\n            \"MemoryLimit\": 512000000,\n            \"MemorySoftLimit\": 1024000000,\n            \"MemorySwapLimit\": -1,\n            \"MemorySwappiness\": 60,\n            \"OomKillDisable\": false,\n            \"KernelMemoryLimit\": -1,\n            \"KernelMemoryTCPLimit\": -1,\n            \"BlkioWeight\": 0,\n            \"BlkioLeafWeight\": 0,\n            \"BlkioWeightDevice\": null,\n            \"BlkioLeafWeightDevice\": null,\n            \"BlkioThrottleReadBpsDevice\": null,\n            \"BlkioThrottleWriteBpsDevice\": null,\n            \"BlkioThrottleReadIOPSDevice\": null,\n            \"BlkioThrottleWriteIOPSDevice\": null,\n            \"Device\": null,\n            \"PidsMax\": 100,\n            \"NetClsClassid\": 0,\n            \"NetPrioIfpriomap\": null,\n            \"Freezer\": \"\",\n            \"HugepagesLimit\": null\n        }\n    },\n    \"Volumes\": {\n        \"/root/mysql\": \"/var/lib/mydocker/containers/4f2322145e66/merged/var/lib/mysql\"\n    },\n    \"Envs\": {\n        \"GOSU_VERSION\": \"1.7\",\n        \"MYSQL_DATABASE\": \"testdb\",\n        \"MYSQL_MAJOR\": \"5.7\",\n        \"MYSQL_PASSWORD\": \"r00test\",\n        \"MYSQL_ROOT_PASSWORD\": \"r00tme\",\n        \"MYSQL_USER\": \"testuser\",\n        \"MYSQL_VERSION\": \"5.7.25-1debian9\",\n        \"PATH\": \"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"\n    },\n    \"Ports\": {\n        \"8036\": \"3306\"\n    },\n    \"Endpoints\": [\n        {\n            \"IPAddr\": \"10.20.30.2\",\n            \"Device\": \"veth-f0573c58@ceth-f0573c58\",\n            \"Network\": {\n                \"driver\": \"bridge\",\n                \"name\": \"mydocker0\"\n            },\n            \"Uuid\": \"0f616391b7bb\",\n            \"Ports\": {\n                \"8036\": \"3306\"\n            }\n        }\n    ]\n}\n```\n\n## License\n\nSee the [LICENSE](https://github.com/weikeit/mydocker/blob/master/LICENSE.md) file for license rights and limitations (MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwzhck%2Fmydocker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwzhck%2Fmydocker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwzhck%2Fmydocker/lists"}