MySQL in Docker frozen at root password config

I have the next dockerfile:

FROM ubuntu:16.04
RUN apt-get update && apt-get upgrade -y && apt-get install -y apache2 mysql-server mysql-client

After, Docker build asking me the password root:

  • docker build --no-cache=true still builds with cache?
  • How do I use the public swagger-generator docker image to generate a client?
  • Docker and package managers in production
  • docker cannot start on windows
  • Add file to jenkins workspace with docker
  • You're accessing the development server over HTTPS, but it only supports HTTP when using Docker
  • While not mandatory, it is highly recommended that you set a password for the
    MySQL administrative "root" user.
    
    If this field is left blank, the password will not be changed.
    
    New password for the MySQL "root" user:
    

    I enter the password, but, simply it stays in that state.

    Can I install mysql this way?, I do not want to install it automatically

  • gcloud docker push no space left error
  • How do I connect to a web app running on an image on docker hub?
  • docker nginx 502 bad gateway
  • Docker does not set the RAM via docker run command
  • How to fix docker-machine ip?
  • Flask web app, Node.js (queue) worker. Can't make docker work
  • 3 Solutions collect form web for “MySQL in Docker frozen at root password config”

    Docker way is “one container for one process”.
    You need one container for apache and one for mysql.
    You can use official php image and official mysql image

    for linking the containers i recommend use docker-compose

    The accepted answer may be true in some abstract sense, but it’s completely irrelevant to the matter at hand. You need a way to specify the password statically. And you’ll need that whether or not you follow the “one process, one container” dogma.

    The answer here tells how, but it leaves out a key setting: you still have to tell debconf to use the Noninteractive front-end, as described here.

    Here’s an example of a working Dockerfile based on the above.

    FROM ubuntu:latest
    MAINTAINER Jonathan Strange <jstrange@norrell.edu>
    RUN apt-get update \
        && apt-get install -y apt-utils \                                           
        && { \
            echo debconf debconf/frontend select Noninteractive; \
            echo mysql-community-server mysql-community-server/data-dir \
                select ''; \
            echo mysql-community-server mysql-community-server/root-pass \
                password 'JohnUskglass'; \
            echo mysql-community-server mysql-community-server/re-root-pass \
                password 'JohnUskglass'; \
            echo mysql-community-server mysql-community-server/remove-test-db \
                select true; \
        } | debconf-set-selections \
        && apt-get install -y mysql-server apache2 python python-django \
            python-celery rabbitmq-server git
    

    Hum, I think the best way is to pull the Official mysql image and link it into your application container.

    Hope it helps.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.