我如何从Docker容器中运行任意的MySQL命令?

我想要一个Docker容器,为它的效果运行一个命令,然后停下来,直到我再次运行它。

我只想运行这个,删除过期的行:

mysql --user=$MYSQL_USER --host=$MYSQL_HOST --database=$MYSQL_DB --password=$MYSQL_PASS -se "DELETE FROM sometable WHERE expiration < NOW();" 

我试过这个:

 FROM ????? ENV MYSQL_USER=$MYSQL_USER ENV MYSQL_HOST=$MYSQL_HOST ENV MYSQL_PASS=$MYSQL_PASS ENV MYSQL_DB=$MYSQL_DB ENTRYPOINT mysql --user=$MYSQL_USER --host=$MYSQL_HOST --database=$MYSQL_DB --password=$MYSQL_PASS -se "DELETE FROM sometable WHERE expiration < NOW();" 

并运行它:

 docker run --name some-process \ -e MYSQL_USER=$MYSQL_USER \ -e MYSQL_PASS=$MYSQL_PASS \ -e MYSQL_HOST=$MYSQL_HOST \ -e MYSQL_DB=$MYSQL_DB \ -d some-image:latest 

而且我尝试了很多这样的排列,但是我真的迷失了。

任何build议什么我的Dockerfiledocker run命令应该看起来像运行?


编辑:

我已经尝试了很多东西,得到了太多的错误,所以我认为“修复”我的尝试是徒劳的,而只是请求“我怎么让容器运行mysql -se "DELETE ..."

但是,如果有帮助,这里是我得到的一些错误(我得到最频繁的第一个)

 ERROR 2002 (HY000): Can't connect to local MySQL server through socket ------ ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111) ------ Error response from daemon: No such container: ------ docker: Error response from daemon: repository my-mysql-server not found: does not exist or no pull access. ------ ERROR: mysqld failed while attempting to check config ------ error: database is uninitialized and password option is not specified 

你不需要build立一个图像来做到这一点。 你可以在官方镜像中使用MySQL客户端:

 docker run -it -e MYSQL_PWD=yourpass mysql:5.6 mysql -h $MYSQL_HOST --port 3306 -u youruser -e "DELETE FROM sometable WHERE expiration < NOW();"