PS: 你可以把镜像理解为一个Java类,而容器则是这个类创建的一个实例。
查询镜像
1 | # 搜索跟centos相关的镜像 |
拉取镜像
1 | docker pull centos |
启动容器
1 | docker run -dit -name 容器名 镜像名 /bin/bash |
端口映射
1 | #本地端口:容器端口 |
进入容器
1 | docker exec -it 容器名 /bin/bash |
查看容器日志
1 | docker logs -f 容器名 |
查看容器的IP地址
1 | docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名 |
推送镜像
1 | # username为你docker账号的用户名 |
查看容器信息
1 | docker inspect 容器名 |
删除全部容器
1 | docker stop $(docker ps -q) & docker rm $(docker ps -aq) |
删除镜像
1 | docker rmi 镜像id |
创建一个docker网络
1 | docker network create -d bridge my-net |
运行一个容器并连接到新建的网络
1 | docker run -it --name 容器名 --network my-net 镜像名 /bin/bash |
挂载本地目录
1 | # 将当前目录,挂载到容器的/app/demo目录中 |
保存镜像
1 | docker save alpine | gzip > alpine-latest.tar.gz |
加载保存的镜像
1 | docker load -i alpine-latest.tar.gz |
导出容器
1 | docker export 7691a814370e > ubuntu.tar |
从容器快照中导入为镜像
1 | cat ubuntu.tar | docker import - test/ubuntu:v1.0 |
清理所有处于终止状态的容器
1 | docker prune |