What happened?
I tried to use the ETCD container on an arm MacBook, but I'm having the same problem as issue #14209. (listen tcp 127.0.0.1:2380: bind: address already in use)
In my case, the same issue occurs even after rebooting the computer. Instead, restart the container and it will run normally.
What did you expect to happen?
The container was expected to run normally.
How can we reproduce it (as minimally and precisely as possible)?
Steps 1-3 below are the process I was talking about.
(I tested it by referring to the 'Connecting to other containers' section in the README provided by the docker hub.)
step 1
$ docker network create app-tier --driver bridge
step 2
$ docker run -d --name Etcd-server \
--network app-tier \
--publish 2379:2379 \
--publish 2380:2380 \
--env ALLOW_NONE_AUTHENTICATION=yes \
--env ETCD_ADVERTISE_CLIENT_URLS=http://etcd-server:2379 \
bitnami/etcd:latest
$ docker logs Etcd-server
...
{"level":"info","ts":"2022-08-06T09:44:27.439Z","caller":"embed/etcd.go:131","msg":"configuring peer listeners","listen-peer-urls":["http://localhost:2380"]}
{"level":"info","ts":"2022-08-06T09:44:27.449Z","caller":"embed/etcd.go:368","msg":"closing etcd server","name":"default","data-dir":"/bitnami/etcd/data","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://etcd-server:2379"]}
{"level":"info","ts":"2022-08-06T09:44:27.450Z","caller":"embed/etcd.go:370","msg":"closed etcd server","name":"default","data-dir":"/bitnami/etcd/data","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://etcd-server:2379"]}
{"level":"fatal","ts":"2022-08-06T09:44:27.450Z","caller":"etcdmain/etcd.go:204","msg":"discovery failed","error":"listen tcp 127.0.0.1:2380: bind: address already in use","stacktrace":"go.etcd.io/etcd/server/v3/etcdmain.startEtcdOrProxyV2\n\t/go/src/go.etcd.io/etcd/release/etcd/server/etcdmain/etcd.go:204\ngo.etcd.io/etcd/server/v3/etcdmain.Main\n\t/go/src/go.etcd.io/etcd/release/etcd/server/etcdmain/main.go:40\nmain.main\n\t/go/src/go.etcd.io/etcd/release/etcd/server/main.go:32\nruntime.main\n\t/go/gos/go1.16.15/src/runtime/proc.go:225"}
step 3
$ docker restart Etcd-server
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9dd6bbbd310e bitnami/etcd:latest "/opt/bitnami/script…" 22 minutes ago Up 22 minutes 0.0.0.0:2379-2380->2379-2380/tcp Etcd-server
Anything else we need to know?
No response
Etcd version (please run commands below)
$ etcd --version
etcd Version: 3.5.4
Git SHA: 08407ff76
Go Version: go1.16.15
Go OS/Arch: linux/amd64
$ etcdctl version
etcdctl version: 3.5.4
API version: 3.5
Etcd configuration (command line flags or environment variables)
ALLOW_NONE_AUTHENTICATION=yes
ETCD_ADVERTISE_CLIENT_URLS=http://etcd-server:2379
Etcd debug information (please run commands blow, feel free to obfuscate the IP address or FQDN in the output)
$ etcdctl member list -w table
# paste output here
$ etcdctl --endpoints=<member list> endpoint status -w table
# paste output here
Relevant log output
etcd 09:44:22.78
etcd 09:44:22.80 Welcome to the Bitnami etcd container
etcd 09:44:22.82 Subscribe to project updates by watching https://github.com/bitnami/containers
etcd 09:44:22.84 Submit issues and feature requests at https://github.com/bitnami/containers/issues
etcd 09:44:22.86
etcd 09:44:22.88 INFO ==> ** Starting etcd setup **
etcd 09:44:23.00 INFO ==> Validating settings in ETCD_* env vars..
etcd 09:44:23.03 WARN ==> You set the environment variable ALLOW_NONE_AUTHENTICATION=yes. For safety reasons, do not use this flag in a production environment.
etcd 09:44:23.07 INFO ==> Initializing etcd
etcd 09:44:23.09 INFO ==> Generating etcd config file using env variables
etcd 09:44:23.21 INFO ==> There is no data from previous deployments
etcd 09:44:23.23 INFO ==> Obtaining cluster member ID
etcd 09:44:23.28 INFO ==> Starting etcd in background
etcd 09:44:26.99 INFO ==> Stored member ID: 8e9e05c52164694d
etcd 09:44:27.08 INFO ==> ** etcd setup finished! **
etcd 09:44:27.19 INFO ==> ** Starting etcd **
{"level":"info","ts":"2022-08-06T09:44:27.426Z","caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_ADVERTISE_CLIENT_URLS","variable-value":"http://etcd-server:2379"}
{"level":"info","ts":"2022-08-06T09:44:27.429Z","caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_AUTO_TLS","variable-value":"false"}
{"level":"info","ts":"2022-08-06T09:44:27.430Z","caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_CLIENT_CERT_AUTH","variable-value":"false"}
{"level":"info","ts":"2022-08-06T09:44:27.430Z","caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_DATA_DIR","variable-value":"/bitnami/etcd/data"}
{"level":"info","ts":"2022-08-06T09:44:27.431Z","caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_LISTEN_CLIENT_URLS","variable-value":"http://0.0.0.0:2379"}
{"level":"info","ts":"2022-08-06T09:44:27.431Z","caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_LOG_LEVEL","variable-value":"info"}
{"level":"info","ts":"2022-08-06T09:44:27.431Z","caller":"flags/flag.go:113","msg":"recognized and used environment variable","variable-name":"ETCD_PEER_AUTO_TLS","variable-value":"false"}
{"level":"warn","ts":"2022-08-06T09:44:27.431Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_INITIAL_ADVERTISE_PEER_URLS="}
{"level":"warn","ts":"2022-08-06T09:44:27.432Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_DAEMON_USER=etcd"}
{"level":"warn","ts":"2022-08-06T09:44:27.432Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_NEW_MEMBERS_ENV_FILE=/bitnami/etcd/data/new_member_envs"}
{"level":"warn","ts":"2022-08-06T09:44:27.432Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_CERT_FILE="}
{"level":"warn","ts":"2022-08-06T09:44:27.432Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_INITIAL_CLUSTER="}
{"level":"warn","ts":"2022-08-06T09:44:27.432Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_BASE_DIR=/opt/bitnami/etcd"}
{"level":"warn","ts":"2022-08-06T09:44:27.432Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_INITIAL_CLUSTER_STATE="}
{"level":"warn","ts":"2022-08-06T09:44:27.432Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_TMP_DIR=/opt/bitnami/etcd/tmp"}
{"level":"warn","ts":"2022-08-06T09:44:27.432Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_DISABLE_PRESTOP=no"}
{"level":"warn","ts":"2022-08-06T09:44:27.432Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_INIT_SNAPSHOTS_DIR=/init-snapshot"}
{"level":"warn","ts":"2022-08-06T09:44:27.432Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_INIT_SNAPSHOT_FILENAME="}
{"level":"warn","ts":"2022-08-06T09:44:27.432Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_START_FROM_SNAPSHOT=no"}
{"level":"warn","ts":"2022-08-06T09:44:27.432Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_DAEMON_GROUP=etcd"}
{"level":"warn","ts":"2022-08-06T09:44:27.433Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_CONF_DIR=/opt/bitnami/etcd/conf"}
{"level":"warn","ts":"2022-08-06T09:44:27.433Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_KEY_FILE="}
{"level":"warn","ts":"2022-08-06T09:44:27.433Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_DISASTER_RECOVERY=no"}
{"level":"warn","ts":"2022-08-06T09:44:27.433Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_CLUSTER_DOMAIN="}
{"level":"warn","ts":"2022-08-06T09:44:27.433Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_ROOT_PASSWORD="}
{"level":"warn","ts":"2022-08-06T09:44:27.433Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_NAME="}
{"level":"warn","ts":"2022-08-06T09:44:27.433Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_INITIAL_CLUSTER_TOKEN="}
{"level":"warn","ts":"2022-08-06T09:44:27.433Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_VOLUME_DIR=/bitnami/etcd"}
{"level":"warn","ts":"2022-08-06T09:44:27.433Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_BIN_DIR=/opt/bitnami/etcd/bin"}
{"level":"warn","ts":"2022-08-06T09:44:27.433Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_SNAPSHOTS_DIR=/snapshots"}
{"level":"warn","ts":"2022-08-06T09:44:27.434Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_ON_K8S=no"}
{"level":"warn","ts":"2022-08-06T09:44:27.434Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_LISTEN_PEER_URLS="}
{"level":"warn","ts":"2022-08-06T09:44:27.434Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_CONF_FILE=/opt/bitnami/etcd/conf/etcd.yaml"}
{"level":"warn","ts":"2022-08-06T09:44:27.434Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_DISABLE_STORE_MEMBER_ID=no"}
{"level":"warn","ts":"2022-08-06T09:44:27.434Z","caller":"flags/flag.go:93","msg":"unrecognized environment variable","environment-variable":"ETCD_TRUSTED_CA_FILE="}
{"level":"info","ts":"2022-08-06T09:44:27.436Z","caller":"etcdmain/etcd.go:73","msg":"Running: ","args":["etcd"]}
{"level":"warn","ts":"2022-08-06T09:44:27.438Z","caller":"etcdmain/etcd.go:446","msg":"found invalid file under data directory","filename":"member_id","data-dir":"/bitnami/etcd/data"}
{"level":"info","ts":"2022-08-06T09:44:27.438Z","caller":"etcdmain/etcd.go:116","msg":"server has been already initialized","data-dir":"/bitnami/etcd/data","dir-type":"member"}
{"level":"info","ts":"2022-08-06T09:44:27.439Z","caller":"embed/etcd.go:131","msg":"configuring peer listeners","listen-peer-urls":["http://localhost:2380"]}
{"level":"info","ts":"2022-08-06T09:44:27.449Z","caller":"embed/etcd.go:368","msg":"closing etcd server","name":"default","data-dir":"/bitnami/etcd/data","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://etcd-server:2379"]}
{"level":"info","ts":"2022-08-06T09:44:27.450Z","caller":"embed/etcd.go:370","msg":"closed etcd server","name":"default","data-dir":"/bitnami/etcd/data","advertise-peer-urls":["http://localhost:2380"],"advertise-client-urls":["http://etcd-server:2379"]}
{"level":"fatal","ts":"2022-08-06T09:44:27.450Z","caller":"etcdmain/etcd.go:204","msg":"discovery failed","error":"listen tcp 127.0.0.1:2380: bind: address already in use","stacktrace":"go.etcd.io/etcd/server/v3/etcdmain.startEtcdOrProxyV2\n\t/go/src/go.etcd.io/etcd/release/etcd/server/etcdmain/etcd.go:204\ngo.etcd.io/etcd/server/v3/etcdmain.Main\n\t/go/src/go.etcd.io/etcd/release/etcd/server/etcdmain/main.go:40\nmain.main\n\t/go/src/go.etcd.io/etcd/release/etcd/server/main.go:32\nruntime.main\n\t/go/gos/go1.16.15/src/runtime/proc.go:225"}