Docker常用命令
1、基础命令
bash
- `docker run`:运行一个容器,--name 指定容器的名称,-i 获取标准输入输出,-t显示在终端,-d放到后台运行,--rm容器停止运行时删除容器,----link=nginx:nginx.host 定义别名nginx.hosrt,使容器可以连接到nginx这个容器的端口,-p 80:80 设置宿主机与容器的端口映射关系,指定数据映射目录。
示例:`docker run -itd -v /opt/data:/var/lib/mysql --rm --name --link=nginx:nginx.host -p 80:80 mysql mysql:5.7`
- `docker ps`:列出正在运行的容器。
示例:`docker ps`,-a所有容器,-q容器的id
docker ps -aq
- `docker ps -a`:列出所有容器。
示例:`docker ps -a`
- `docker stop`:停止容器。
示例:`docker stop my_container`
- `docker start`:启动容器。
示例:`docker start my_container`
- `docker restart`:重启容器。
示例:`docker restart my_container`
- `docker rm`:删除容器。-f强制删除
示例:`docker rm my_container`
- `docker rmi`:删除镜像。
示例:`docker rmi my_image`
- `docker pull`:从Docker Hub下载镜像。
示例:`docker pull ubuntu`
- `docker images`:列出本地镜像。ls,list都是列出镜像
示例:`docker images`
- `docker build`:从Dockerfile构建镜像。
示例:`docker build -t my_image .`
- `docker create`:创建但不启动一个新的容器。
示例:`docker create --name my_container ubuntu`
- `docker info`:显示Docker系统的详细信息。
示例:`docker info`
2、容器管理
bash
- `docker exec`:在运行的容器中执行命令。
示例:`docker exec -it nginx /bin/bash`
- `docker attach`:连接到容器的标准输入输出流,退出后容器运行停止,如果想要容器继续运行并退出,依次按住CTRL+p+q
示例:`docker attach nginx`
- `docker cp`:在容器与主机间拷贝文件。
示例:`docker cp nginx:/path/to/file /host/path`
- `docker logs`:查看容器日志。
示例:`docker logs nginx`
- `docker inspect`:查看容器或镜像的详细信息。
示例:`docker inspect nginx`
- `docker port`:列出容器端口映射。
示例:`docker port nginx`
3、镜像管理
bash
- `docker commit`:从容器创建新的镜像。
示例:`docker commit my_container my_new_image`
- `docker save`:保存镜像到本地tar文件。
示例:`docker save -o my_image.tar my_image`
- `docker load`:从tar文件加载镜像。
示例:`docker load -i my_image.tar`
- `docker export`:导出镜像到本地。
示例:`docker export my_image -o my_new_image.tar`
- `docker import`:从tar文件导入镜像。
示例:`docker import my_image.tar my_new_image`
- `docker history`:显示镜像构建历史。
示例:`docker history my_image`
- `docker tag`:给镜像打标签。
示例:`docker tag my_image my_repo/my_image:latest`
- `docker push`:将镜像推送到镜像仓库。
示例:`docker push my_repo/my_image:latest`
- `docker search`:从Docker Hub搜索镜像。
示例:`docker search ubuntu`
推送镜像
docker push :推送本地镜像到dockerhub仓库时,打tag路径需和仓库路径一致
4、网络管理
容器的网络模式
bash
- `docker network ls`:列出网络。
示例:`docker network ls`
- `docker network create`:创建网络。
示例:`docker network create my_network`
- `docker network connect`:连接容器到网络。
示例:`docker network connect my_network my_container`
- `docker network disconnect`:断开容器与网络的连接。
示例:`docker network disconnect my_network my_container`
5、数据管理
bash
- `docker volume create`:创建数据卷。
示例:`docker volume create my_volume`
- `docker volume ls`:列出数据卷。
示例:`docker volume ls`
- `docker volume inspect`:检查数据卷详情。
示例:`docker volume inspect my_volume`
- `docker volume rm`:删除数据卷。
示例:`docker volume rm my_volume`