Docker常用命令
这里将高频使用的docker命令记录说明下,备忘
docker
1 | # 如果是登录自定义源,增加域名的registry地址 |
docker-compose
官网:https://docs.docker.com/compose/reference/
1 | # 启动编排服务,(default: docker-compose.yml), 注意-f如果有设置,一定放在前头,不要调换参数顺序 |
常见问题说明
-p参数
端口映射写完整,比如-p 8888:80
,不要用简写方式
端口格式为宿主端口:容器端口即HOST:CONTAINER
对于docker-compose中各个container的port配置也遵照上述格式
build支持URL
有时build镜像是发到私有仓库,这时build及push时需要加上网址,比如 docker build github.com/creack/docker-firefox
停止删除目标容器
1 | docker ps -q --filter "name=hellonginx" | grep -q . && docker stop hellonginx && docker rm -fv hellonginx |
Error: Permission denied
比如docker启动nginx后进行读且时报权限问题,原因是docker挂载的磁盘权限不足,解决办法是
1 | chmod -R 777 volume/ |
为什么会出现权限不足,因为docker在运行时,对于外部的系统用户是docker而不是root,因此存在权限不足的可能性,具体可以查看对应磁盘目录的权限情况。
容器内访问宿主机服务
直接访问127.0.0.1是不可以的,需要配置网络才可以正常访问
docker-compose
进行如下配置,同时使用host.docker.internal代替本地IP地址进行访问
1 | extra_hosts: |
.dockerignore/拷贝黑名单
不想拷贝进镜像文件,可以通过.dockerignore配置黑名单来解决
https://docs.docker.com/engine/reference/builder/#dockerignore-file
写在最后
以上命令可能改变或失效,最终以官方CLI为准,点击这里