docker命令
镜像命令
docker commit [container-id][spacename]/[repository-name]:[desc]将容器打包成一个镜像
docker commit -m "nginx动态代理" d3de32a05d18 ifreegame/nginx-proxy:1.0docker build [options] image-name <Dockerfile文件路径,例如.>创建一个镜像,'.'表示当前路径,'--no-cache'不缓存
docker build . -t nginx-proxydocker push [spacename]/[images-name]:[image-tag]将本地的镜像上传到镜像仓库
docker push ifreegame/nginx-proxy:1.0docker images列出本地镜像docker container ls查看容器列表docker pull [spacename]/[repository-name]拉取远程镜像docker commit [容器id] [要创建的目标镜像名]:[标签名]创建docker镜像docker images查看镜像docker rmi image-id删除镜像
容器命令
docker rm [容器名]删除容器(容器如果在运行就先stop,再rm)docker start [容器id]启动容器docker container start [容器id]启动容器docker run -d -p 81:80 -v host-path:container-path --name container-name image-name
docker run --name nginx-demo -d -p 8080:80 -e WEB_HOST_URL=http://r3-8098.dev.burgeononline.com nginx-proxy(-d后台运行,-p端口,81为主机,80为镜像中的端口,--name自定义容器名,-v路径映射,实现让容器使用主机里的文件,-e环境变量 )
docker stop [容器id]终止容器docker restart [容器id]重启容器exit在容器内部运行,可退出容器docker logs -f [容器名称]持续打印容器里的信息
其他操作
docker login/logout登录/登出镜像仓库docker exec -it [container-id] command进入容器并执行命令例如bash(-i指即使没有附近也保持stdin打开,-t分配一个伪终端)。它会打开新的终端docker attach进入容器。在已有终端打开docker ps | grep <container-name>列出运行中的容器并筛选指定容器(docker ps 后面加-a 查看所有容器)docker volume create <volume-name>创建一个volumn给不同容器使用docker run -d -v <volume-name> container-path command通过volumn映射地址docker volume inspect <volume-name>获取volume的信息docker network create network-name创建一个可供容器之间通信的网络docker system df查看docker空间使用情况docker cp xxx/. 8ccc8cdce9ec://xxx/xxx复制本地(命令行执行路径的相对路径)xxx目录下所有内容到xxx目录(绝对路径)docker cp xxx/ 8ccc8cdce9ec://xxx/xxx复制本地xxx目录到xxx目录下docker inspect获取容器/镜像元数据docker inspect 容器id | grep Pid查看容器进程在宿主机上的真实IPdocker top mysql查看容器中运行的mysql进程信息docker events --since="313133132"获取服务事件docker port 容器id获取容器端口映射docker tag 镜像 镜像:tag设置docker的tagdocker rm -v ${docker ps -aq -f status=exited}批量删除所有已经退出的容器docker system prune -f删除已经退出的容器docker image prune -a删除未使用的镜像docker login -u 用户名 私有仓库域名登录私有仓库docker builder prune清理构建缓存
批量操作
docker container stop $(docker container ps -qa)利用docker container ps -qa返回的容器id批量停止容器
docker-compose
docker-compose up -d执行docker-compose配置文件docker-compose stop批量停止docker-compose down批量停止,并删除容器和网络docker-compose rm批量删除docker-compose -f [filename].yml up -d强制使用指定yml进行启动