Container is not running
运行docker exec -it 56b90db5253e /bin/bash
报错。
出现这个问题,是因为Container容器之前已经启动过了
执行docker start 56b90db5253e
就可以解决了。
docker在运行中的容器中执行命令
docker exec命令能够在运行着的容器中执行命令。docker exec命令的使用格式:
docker exec [OPTIONS] container_name COMMAND [ARG…]
OPTIONS说明:
-d,以后台方式执行命令;
-e,设置环境变量;
-i,交互模式;
-t,设置TTY;
-u,用户名或UID,例如myuser:myusergroup;
-d,以后台方式执行命令;
-e,设置环境变量;
-i,交互模式;
-t,设置TTY;
-u,用户名或UID,例如myuser:myusergroup
通常COMMAND只能是一条语句,为了支持多个命令的执行,需要将多个命令连接起来交给Shell,docker exec命令的使用示例如下:
docker exec -it flask_app_ateuser bash -c "nginx && cd root/service_user && uwsgi --ini config.ini";
启动/创建docker时运行多条命令
有时在启动docker container时需要同时运行不止一条命令,这时在command处使用:
sh -c ' cmd1 && cmd2 '
即可。如:
docker run -d --name flask_user --network host flask_ateuser:v1 sh -c 'uwsgi --ini config.ini && nginx && tail -f /dev/null'
docker镜像无法删除,通过 docker images 查看镜像明明存在就是删除不了。
删除提示:Error:No such image:xxxxxxx
cd /var/lib/docker/image/overlay2/imagedb/content/sha256
rm -rf <对应的一长串image id>