diff --git a/dart/README.md b/dart/README.md index 6a6c23abe..148a5ccc5 100644 --- a/dart/README.md +++ b/dart/README.md @@ -24,8 +24,8 @@ WARNING: # Supported tags and respective `Dockerfile` links -- [`2.18.1-sdk`, `2.18-sdk`, `2-sdk`, `stable-sdk`, `sdk`, `2.18.1`, `2.18`, `2`, `stable`, `latest`](https://github.com/dart-lang/dart-docker/blob/a992cff058f23425e51d085668dfef976a1f04f1/stable/bullseye/Dockerfile) -- [`2.19.0-146.2.beta-sdk`, `beta-sdk`, `2.19.0-146.2.beta`, `beta`](https://github.com/dart-lang/dart-docker/blob/a992cff058f23425e51d085668dfef976a1f04f1/beta/bullseye/Dockerfile) +- [`2.18.2-sdk`, `2.18-sdk`, `2-sdk`, `stable-sdk`, `sdk`, `2.18.2`, `2.18`, `2`, `stable`, `latest`](https://github.com/dart-lang/dart-docker/blob/b34021c5bd18c3b37456851d6b57635c78b5c5bf/stable/bullseye/Dockerfile) +- [`2.19.0-146.2.beta-sdk`, `beta-sdk`, `2.19.0-146.2.beta`, `beta`](https://github.com/dart-lang/dart-docker/blob/b34021c5bd18c3b37456851d6b57635c78b5c5bf/beta/bullseye/Dockerfile) # Quick reference (cont.) diff --git a/eclipse-temurin/README.md b/eclipse-temurin/README.md index a5246afa5..51e973d50 100644 --- a/eclipse-temurin/README.md +++ b/eclipse-temurin/README.md @@ -77,17 +77,17 @@ WARNING: - [`17.0.4.1_1-jre-windowsservercore-1809`, `17-jre-windowsservercore-1809`](https://github.com/adoptium/containers/blob/08dd7d416cee0fe00f1231351b521d577450133f/17/jre/windows/windowsservercore-1809/Dockerfile.releases.full) - [`17.0.4.1_1-jre-nanoserver-1809`, `17-jre-nanoserver-1809`](https://github.com/adoptium/containers/blob/08dd7d416cee0fe00f1231351b521d577450133f/17/jre/windows/nanoserver-1809/Dockerfile.releases.full) - [`19_36-jdk-alpine`, `19-jdk-alpine`, `19-alpine`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jdk/alpine/Dockerfile.releases.full) -- [`19_36-jdk-focal`, `19-jdk-focal`, `19-focal`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jdk/ubuntu/focal/Dockerfile.releases.full) -- [`19_36-jdk-jammy`, `19-jdk-jammy`, `19-jammy`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jdk/ubuntu/jammy/Dockerfile.releases.full) -- [`19_36-jdk-centos7`, `19-jdk-centos7`, `19-centos7`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jdk/centos/Dockerfile.releases.full) +- [`19_36-jdk-focal`, `19-jdk-focal`, `19-focal`](https://github.com/adoptium/containers/blob/c25ab6851db6c7ca509dd70d60d27b48aff64024/19/jdk/ubuntu/focal/Dockerfile.releases.full) +- [`19_36-jdk-jammy`, `19-jdk-jammy`, `19-jammy`](https://github.com/adoptium/containers/blob/c25ab6851db6c7ca509dd70d60d27b48aff64024/19/jdk/ubuntu/jammy/Dockerfile.releases.full) +- [`19_36-jdk-centos7`, `19-jdk-centos7`, `19-centos7`](https://github.com/adoptium/containers/blob/c25ab6851db6c7ca509dd70d60d27b48aff64024/19/jdk/centos/Dockerfile.releases.full) - [`19_36-jdk-windowsservercore-ltsc2022`, `19-jdk-windowsservercore-ltsc2022`, `19-windowsservercore-ltsc2022`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jdk/windows/windowsservercore-ltsc2022/Dockerfile.releases.full) - [`19_36-jdk-nanoserver-ltsc2022`, `19-jdk-nanoserver-ltsc2022`, `19-nanoserver-ltsc2022`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jdk/windows/nanoserver-ltsc2022/Dockerfile.releases.full) - [`19_36-jdk-windowsservercore-1809`, `19-jdk-windowsservercore-1809`, `19-windowsservercore-1809`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jdk/windows/windowsservercore-1809/Dockerfile.releases.full) - [`19_36-jdk-nanoserver-1809`, `19-jdk-nanoserver-1809`, `19-nanoserver-1809`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jdk/windows/nanoserver-1809/Dockerfile.releases.full) - [`19_36-jre-alpine`, `19-jre-alpine`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jre/alpine/Dockerfile.releases.full) -- [`19_36-jre-focal`, `19-jre-focal`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jre/ubuntu/focal/Dockerfile.releases.full) -- [`19_36-jre-jammy`, `19-jre-jammy`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jre/ubuntu/jammy/Dockerfile.releases.full) -- [`19_36-jre-centos7`, `19-jre-centos7`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jre/centos/Dockerfile.releases.full) +- [`19_36-jre-focal`, `19-jre-focal`](https://github.com/adoptium/containers/blob/c25ab6851db6c7ca509dd70d60d27b48aff64024/19/jre/ubuntu/focal/Dockerfile.releases.full) +- [`19_36-jre-jammy`, `19-jre-jammy`](https://github.com/adoptium/containers/blob/c25ab6851db6c7ca509dd70d60d27b48aff64024/19/jre/ubuntu/jammy/Dockerfile.releases.full) +- [`19_36-jre-centos7`, `19-jre-centos7`](https://github.com/adoptium/containers/blob/c25ab6851db6c7ca509dd70d60d27b48aff64024/19/jre/centos/Dockerfile.releases.full) - [`19_36-jre-windowsservercore-ltsc2022`, `19-jre-windowsservercore-ltsc2022`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jre/windows/windowsservercore-ltsc2022/Dockerfile.releases.full) - [`19_36-jre-nanoserver-ltsc2022`, `19-jre-nanoserver-ltsc2022`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jre/windows/nanoserver-ltsc2022/Dockerfile.releases.full) - [`19_36-jre-windowsservercore-1809`, `19-jre-windowsservercore-1809`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jre/windows/windowsservercore-1809/Dockerfile.releases.full) @@ -156,7 +156,7 @@ WARNING: - [`17.0.4.1_1-jre-nanoserver-ltsc2022`](https://github.com/adoptium/containers/blob/08dd7d416cee0fe00f1231351b521d577450133f/17/jre/windows/nanoserver-ltsc2022/Dockerfile.releases.full) - [`17.0.4.1_1-jre-nanoserver-1809`](https://github.com/adoptium/containers/blob/08dd7d416cee0fe00f1231351b521d577450133f/17/jre/windows/nanoserver-1809/Dockerfile.releases.full) - `19_36-jdk`, `19-jdk`, `19`, `latest`: - - [`19_36-jdk-jammy`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jdk/ubuntu/jammy/Dockerfile.releases.full) + - [`19_36-jdk-jammy`](https://github.com/adoptium/containers/blob/c25ab6851db6c7ca509dd70d60d27b48aff64024/19/jdk/ubuntu/jammy/Dockerfile.releases.full) - [`19_36-jdk-windowsservercore-ltsc2022`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jdk/windows/windowsservercore-ltsc2022/Dockerfile.releases.full) - [`19_36-jdk-windowsservercore-1809`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jdk/windows/windowsservercore-1809/Dockerfile.releases.full) - `19_36-jdk-windowsservercore`, `19-jdk-windowsservercore`, `19-windowsservercore`: @@ -166,7 +166,7 @@ WARNING: - [`19_36-jdk-nanoserver-ltsc2022`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jdk/windows/nanoserver-ltsc2022/Dockerfile.releases.full) - [`19_36-jdk-nanoserver-1809`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jdk/windows/nanoserver-1809/Dockerfile.releases.full) - `19_36-jre`, `19-jre`: - - [`19_36-jre-jammy`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jre/ubuntu/jammy/Dockerfile.releases.full) + - [`19_36-jre-jammy`](https://github.com/adoptium/containers/blob/c25ab6851db6c7ca509dd70d60d27b48aff64024/19/jre/ubuntu/jammy/Dockerfile.releases.full) - [`19_36-jre-windowsservercore-ltsc2022`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jre/windows/windowsservercore-ltsc2022/Dockerfile.releases.full) - [`19_36-jre-windowsservercore-1809`](https://github.com/adoptium/containers/blob/dcd73aeb1beb8ba4bc913a8131bccca8c951e99a/19/jre/windows/windowsservercore-1809/Dockerfile.releases.full) - `19_36-jre-windowsservercore`, `19-jre-windowsservercore`: diff --git a/mariadb/README.md b/mariadb/README.md index 6dc3957af..02e1eb7e3 100644 --- a/mariadb/README.md +++ b/mariadb/README.md @@ -83,10 +83,10 @@ $ docker run --detach --network some-network --name some-mariadb --env MARIADB_U ## Connect to MariaDB from the MySQL/MariaDB command line client -The following command starts another `mariadb` container instance and runs the `mysql` command line client against your original `mariadb` container, allowing you to execute SQL statements against your database instance: +The following command starts another `mariadb` container instance and runs the `mariadb` command line client against your original `mariadb` container, allowing you to execute SQL statements against your database instance: ```console -$ docker run -it --network some-network --rm mariadb mysql -hsome-mariadb -uexample-user -p +$ docker run -it --network some-network --rm mariadb mariadb -hsome-mariadb -uexample-user -p ``` ... where `some-mariadb` is the name of your original `mariadb` container (connected to the `some-network` Docker network). @@ -94,7 +94,7 @@ $ docker run -it --network some-network --rm mariadb mysql -hsome-mariadb -uexam This image can also be used as a client for non-Docker or remote instances: ```console -$ docker run -it --rm mariadb mysql -h -u example-user -p +$ docker run -it --rm mariadb mariadb -h -u example-user -p ``` That will give you a standard MariaDB prompt. You can test it with: @@ -150,19 +150,24 @@ $ docker logs some-mariadb ## Using a custom MariaDB configuration file -The startup configuration is specified in the file `/etc/mysql/my.cnf`, and that file in turn includes any files found in the `/etc/mysql/conf.d` directory that end with `.cnf`. Settings in files in this directory will augment and/or override settings in `/etc/mysql/my.cnf`. If you want to use a customized MariaDB configuration, you can create your alternative configuration file in a directory on the host machine and then mount that directory location as `/etc/mysql/conf.d` inside the `mariadb` container. +Custom configuration files should end in `.cnf` and be mounted at the directory `/etc/mysql/conf.d`. These files should contain the minimal changes from the MariaDB workload required for your application/environment. A MariaDB configuration file will have a `[mariadb]` group followed by `variable` = `value` settings per [Setting Server System Variables](https://mariadb.com/kb/en/server-system-variables/#setting-server-system-variables) or [option-prefix-variable](https://mariadb.com/kb/en/configuring-mariadb-with-option-files/#option-prefixes). -If `/my/custom/config-file.cnf` is the path and name of your custom configuration file, you can start your `mariadb` container like this (note that only the directory path of the custom config file is used in this command): +The `mariadb` image configuration contains the Ubuntu MariaDB variables with two custom changes for the container: + + [host-cache-size=0](https://mariadb.com/kb/en/server-system-variables/#host_cache_size) + [skip-name-resolve](https://mariadb.com/kb/en/server-system-variables/#skip_name_resolve) + +These disable the authentication of `user@hostname` users. To re-enable the `skip-name-resolve` use `disable-skip-name-resolve` as variable or arguement. When enabled, the `host-cache-size` should be sufficient for the number of containers connecting to the `mariadb`. + +To view the resulting configuration of your `mariadb` container: ```console -$ docker run --name some-mariadb -v /my/custom:/etc/mysql/conf.d -e MARIADB_ROOT_PASSWORD=my-secret-pw -d mariadb:latest +$ docker run --name some-mariadb -v /my/custom:/etc/mysql/conf.d --rm mariadb:latest my_print_defaults --mysqld ``` -This will start a new container `some-mariadb` where the MariaDB instance uses the combined startup settings from `/etc/mysql/my.cnf` and `/etc/mysql/conf.d/config-file.cnf`, with settings from the latter taking precedence. - ### Configuration without a `cnf` file -Many configuration options can be passed as flags to `mysqld`. This will give you the flexibility to customize the container without needing a `cnf` file. For example, if you want to run on port 3808 just run the following: +Many configuration options can be passed as flags to `mariadbd`. This will give you the flexibility to customize the container without needing a `cnf` file. For example, if you want to run on port 3808 just run the following: ```console $ docker run --name some-mariadb -e MARIADB_ROOT_PASSWORD=my-secret-pw -d mariadb:latest --port 3808 @@ -180,13 +185,13 @@ When you start the `mariadb` image, you can adjust the initialization of the Mar From tag 10.2.38, 10.3.29, 10.4.19, 10.5.10 onwards, and all 10.6 and later tags, the `MARIADB_*` equivalent variables are provided. `MARIADB_*` variants will always be used in preference to `MYSQL_*` variants. -One of `MARIADB_ROOT_PASSWORD`, `MARIADB_ALLOW_EMPTY_ROOT_PASSWORD`, or `MARIADB_RANDOM_ROOT_PASSWORD` (or equivalents, including `*_FILE`), is required. The other environment variables are optional. +One of `MARIADB_RANDOM_ROOT_PASSWORD`, `MARIADB_ROOT_PASSWORD_HASH`, `MARIADB_ROOT_PASSWORD` or `MARIADB_ALLOW_EMPTY_ROOT_PASSWORD` (or equivalents, including `*_FILE`), is required. The other environment variables are optional. ### `MARIADB_ROOT_PASSWORD` / `MYSQL_ROOT_PASSWORD`, `MARIADB_ROOT_PASSWORD_HASH` This specifies the password that will be set for the MariaDB `root` superuser account. In the above example, it was set to `my-secret-pw`. -In order to have no plaintext secret in the deployment, `MARIADB_ROOT_PASSWORD_HASH` can be used as it is just the hash of the password. The hash can be generated with `SELECT PASSWORD('bob')` as a SQL query. +In order to have no plaintext secret in the deployment, `MARIADB_ROOT_PASSWORD_HASH` can be used as it is just the hash of the password. The hash can be generated with `SELECT PASSWORD('thepassword')` as a SQL query. ### `MARIADB_ALLOW_EMPTY_ROOT_PASSWORD` / `MYSQL_ALLOW_EMPTY_PASSWORD` @@ -214,7 +219,9 @@ This variable allows you to specify the name of a database to be created on imag These are used in conjunction to create a new user and to set that user's password. Both user and password variables are required for a user to be created. This user will be granted all access ([corresponding to `GRANT ALL`](https://mariadb.com/kb/en/grant/#the-all-privileges-privilege)) to the `MARIADB_DATABASE` database. -Do note that there is no need to use this mechanism to create the root superuser, that user gets created by default with the password specified by the `MARIADB_ROOT_PASSWORD` / `MYSQL_ROOT_PASSWORD` variable. +See `MARIADB_ROOT_PASSWORD_HASH` above for how to get a password hash for `MARIADB_PASSWORD_HASH`. + +Do note that there is no need to use this mechanism to create the root superuser, that user gets created by default with the password specified by the `MARIADB_ROOT_PASSWORD*` variable. ### `MARIADB_INITDB_SKIP_TZINFO` / `MYSQL_INITDB_SKIP_TZINFO` @@ -277,7 +284,7 @@ If you start your `mariadb` container instance with a data directory that alread Most of the normal tools will work, although their usage might be a little convoluted in some cases to ensure they have access to the `mysqld` server. A simple way to ensure this is to use `docker exec` and run the tool from the same container, similar to the following: ```console -$ docker exec some-mariadb sh -c 'exec mysqldump --all-databases -uroot -p"$MARIADB_ROOT_PASSWORD"' > /some/path/on/your/host/all-databases.sql +$ docker exec some-mariadb sh -c 'exec mariadb-dump --all-databases -uroot -p"$MARIADB_ROOT_PASSWORD"' > /some/path/on/your/host/all-databases.sql ``` ## Restoring data from dump files @@ -285,7 +292,7 @@ $ docker exec some-mariadb sh -c 'exec mysqldump --all-databases -uroot -p"$MARI For restoring data. You can use the `docker exec` command with the `-i` flag, similar to the following: ```console -$ docker exec -i some-mariadb sh -c 'exec mysql -uroot -p"$MARIADB_ROOT_PASSWORD"' < /some/path/on/your/host/all-databases.sql +$ docker exec -i some-mariadb sh -c 'exec mariadb -uroot -p"$MARIADB_ROOT_PASSWORD"' < /some/path/on/your/host/all-databases.sql ``` If one or more databases, but neither `--all-databases` nor the `mysql` database, were dumped, these databases can be restored by placing the resulting sql file in the `/docker-entrypoint-initdb.d` directory.