docker镜像使用composer
在使用docker部署php运行环境时php在一个单独的容器内,在容器内使用somposer出现Do not run Composer as root/super user!
这个问题是因为安全原因禁止composer使用root用户运行,在容器内新建一个用户去运行总感觉不妥,这时候我们可以采用docker镜像使用composer。
$ docker pull graze/composer
$ docker run --rm -it \
-v $(pwd):/usr/src/app \
-v ~/.composer:/home/composer/.composer \
-v ~/.ssh/id_rsa:/home/composer/.ssh/id_rsa:ro \
graze/composer
$ vim composer.sh
写入以下内容
#!/bin/bash
docker run --rm -it -v $(pwd):/usr/src/app -v ~/.composer:/home/composer/.composer -v ~/.ssh/id_rsa:/home/composer/.ssh/id_rsa:ro graze/composer $@
$ vim ~/.bashrc
增加一行
alias composer="/xxx/composer.sh"
$ source ~/.bashrc
$ composer
-bash: /xxx/composer.sh: Permission denied
提示没有权限,给composer.sh赋权限。
7.再次测试,成功。
$ composer
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.5.1 2017-08-09 16:07:22