Docker常用命令
约 1135 字大约 4 分钟
Docker命令
1. 安装
参考 11.安装Docker
2. 镜像命令
| 作用 | 语法 | 说明 |
|---|---|---|
| 运行镜像 | docker run 镜像ID | p 端口映射 d 后台运行 e 环境变量 v 挂载路径 name 容器名称 |
| 查看镜像 | docker images | 同 docker image ls |
| 搜索镜像 | docker search 镜像名称 | docker search mysql |
| 删除单个镜像 | docker rmi -f 镜像ID | docker rmi -f test-docker-image |
| 删除多个镜像 | docker rmi -f 镜像ID 镜像ID 镜像ID | docker rmi -f test1 test2 |
| 删除所有镜像 | docker rmi $(docker images -aq) | docker rmi $(docker images -aq) |
| 拉取镜像 | docker pull 镜像名称 | docker pull redis |
| 拉取指定版本镜像 | docker pull 镜像名称:版本号 | docker pull registry.cn-hangzhou.aliyuncs.com/test-image:v1.0 |
| 推送镜像 | docker push 镜像名称:版本号 | docker push registry.cn-hangzhou.aliyuncs.com/test-image:v1.0 |
| 重命名镜像 | docker tags 镜像名称:版本号 镜像名称:版本号 | docker tags test-image test-docker-image:v1.0 |
| commit镜像 | docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名[TAG] | docker commit -a "test" -m "test" a404c6c174a2 mymysql:v1 |
| build镜像 | docker build -t 镜像名称:版本号 Dockerfile目录 | docker build -t test-docker-image . |
| 查看镜像历史 | docker history 镜像ID | docker history mysql |
| 导入镜像 | docker import [options] file|URL|- [REPOSITORY[:TAG]] | docker import nginx-test.tar nginx:imp 或 cat nginx-test.tar | docker import - nginx:imp |
| 保存镜像 | docker save [options] images [images...] | docker save nginx > nginx.tar 或 docker save -o nginx.tar nginx docker save myimage | gzip > myimage.tar.gz |
| 加载镜像 | docker load [options] | docker load -i nginx.tar 或 docker load < nginx.tar |
| 更新镜像 | docker update [options] 镜像ID | docker update --restart=always mysql |
3. 容器命令
| 作用 | 语法 | 说明 |
|---|---|---|
| 查看所有容器ID | docker ps -aq | |
| 后台启动容器 | docker run -d 容器名称 | docker run -p 3306:3306 -d --name mysql mysql:5.7 |
| 启动并进入容器 | docker run -it 镜像名称 /bin/bash | docker run -it centos /bin/bash |
| 创建容器但不启动 | docker create [OPTIONS] IMAGE [COMMAND] [ARG...] | 用法同 docker run |
| 删除指定容器 | docker rm 容器ID | 不能删除正在运行的容器 |
| 删除所有容器 | docker rm -f $(docker ps -aq) | 同 docker ps -a -q|xargs docker rm |
| 列出容器端口映射 | docker port 容器ID | docker port mymysql |
| 检查容器内文件改动 | docker diff 容器ID | docker diff mymysql |
| 启动容器 | docker start 容器ID | |
| 重启容器 | docker restart 容器ID | |
| 停止容器 | docker stop 容器ID | |
| 杀死容器 | docke kill 容器ID | |
| 暂停容器 | docker pause CONTAINER [CONTAINER...] | docker pause db01 |
| 恢复容器 | docker unpause CONTAINER [CONTAINER...] | docker unpause db01 |
| 查看日志 | docker logs 容器ID | docker logs -f -t --tail 10 容器ID |
| 查看容器中进程信息 | docker top 容器ID | |
| 查看容器元数据 | docker inspect 容器ID | |
| 查看容器资源资源 | docker stats [容器ID] | docker stats 或 docker stats mysql |
| 进入运行的容器1 | docker exec -it 容器ID bashShell | |
| 进入运行的容器2 | docker attach 容器ID | |
| 从容器拷贝文件到主机 | docker cp 容器路径 主机路径 | docker cp 96f7f14e99ab:/www /tmp/ |
| 从主机拷贝文件到容器 | docker cp 主机路径 容器路径 | docker cp /tmp 96f7f14e99ab:/www |
| 将容器导出为文件 | docker export [options] container | docker export 1e560fca3906 > ubuntu.tar 或 docker export -o nginx-test.tar nginx-test |
4. 其他命令
| 作用 | 语法 | 说明 |
|---|---|---|
| docker engine | ||
| 查看docker信息 | docker info | |
| 查看docker版本 | docker version | |
| 登录dockerHub | docker login | |
| 登出dockerHub | docker logout | |
| docker网络 | ||
| 创建network | docker network create [options] | docker network create tomcat-net 或 docker network create --subnet=172.18.0.0/24 tomcat-net |
| 查看所有 network | docker network ls | |
| 查看指定network | docker network inspect name | docker network inspect tomcat-net |
| 删除指定network | docker network rm name | docker network rm tomcat-net |
| 容器启动时指定network | docker run --network name | docker run -d --name tomcat01 --network tomcat-net tomcat |
| 连接指定network | docker network connect name | docker network connect tomcat-net tomcat01 |
| 断开连接指定network | docker network disconnect name | docker network disconnect tomcat-net tomcat01 |
| docker挂载 | ||
| 创建volume | docker volume create --name test | docker volume create --name test |
| 查看所有volume | docker volume ls | |
| 查看指定volume | docker volume inspect volumeId | docker volume inspect 2fda8b112808f |
| 删除单个volume | docker volume rm -f volumeId | |
| 删除所有volume | docker volume rm -f $(docker volume ls) | |
| 容器启动时指定volume | docker run -v volume:/xxx | docker run -d --name mysql1 -v myvolume:/var/lib/mysql mysql |
5. Docker-Compose
查看版本
docker-compose version根据yml创建service
docker-compose up # 指定yaml: docker-compose up -f xxx.yaml # 后台运行: docker-compose up -d查看启动成功的service
docker-compose ps 也可以使用docker ps查看images
docker-compose images停止/启动service
docker-compose stop/start/restart删除service[同时会删除掉network和volume]
docker-compose down进入到某个service
docker-compose exec redis sh