小编Bra*_*min的帖子

使用docker exec执行两个命令

我正在尝试在docker exec中执行两个命令.具体来说,我必须在特定目录中运行命令.我试过这个,但是没有用:

docker exec [id] -c 'cd /var/www/project && composer install'
Run Code Online (Sandbox Code Playgroud)

-c未检测到参数.我也试过这个:

docker exec [id] cd /var/www/project && composer install
Run Code Online (Sandbox Code Playgroud)

但该命令composer installdocker exec命令后执行.我该怎么做?

linux command exec composer-php docker

15
推荐指数
1
解决办法
2万
查看次数

从 Docker 容器中的脚本创建数据库时丢失与 MySQL 服务器的连接

我正在设置一个脚本来为开发人员本地计算机配置 Docker 环境。该脚本的一个具体部分包括创建一个带有本地卷的临时容器,以设置我将在下一步中使用的数据库。这是脚本中使用的代码:

docker run -d --name mysql_temp -v ~/dev/mysql:/var/lib/mysql/data -e MYSQL_ROOT_PASSWORD=test -p 3306:3306 centos/mysql-57-centos7:latest

脚本中的下一步是这一行:

mysql -u root -h 127.0.0.1 --protocol=tcp --password=test -e "CREATE DATABASE db_test;"

然后,脚本向我返回此错误:

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 2


奇怪的是,如果我在第一个命令之后使用命令强制退出exit,然后直接在终端中手动执行第二个命令,它就会工作并为我创建数据库。

知道这是怎么回事吗?

提前致谢,

mysql docker

5
推荐指数
1
解决办法
3418
查看次数

标签 统计

docker ×2

command ×1

composer-php ×1

exec ×1

linux ×1

mysql ×1