查看镜像
命令 | 描述 |
---|---|
docker images | 列出所有镜像文件 |
docker images -a | 列出所有得镜像文件-包括历史 |
docker rmi <image ID> | 删除一个或多个镜像 |
查看容器
命令 | 描述 |
---|---|
docker ps | 列出当前所有正在运行得容器 |
docker ps -l | 列出最近一次启动得容器 |
docker ps -a | 列出所有容器(包括历史,即运行过得容器) |
docker ps -q | 列出最近一次运行得容器ID |
启动容器
命令 | 描述 |
---|---|
docker start/stop/restart <container> | 开启/停止/重启container |
docker start [container_id] | 再次运行某个container (包括历史container) |
docker attach [container_id] | 连接一个正在运行的container实例(即实例必须为start状态,可以多个窗口同时attach 一个container实例) |
docker exec -ti <container_id> /bin/bash | 进入容器 |
docker start -i <container> | 启动一个container并进入交互模式(相当于先start,在attach) |
docker run -i -t <image> /bin/bash | 使用image创建container并进入交互模式, login shell是/bin/bash |
docker run -i -t -p <host_port:contain_port> | 映射 HOST 端口到容器,方便外部访问容器内服务,host_port 可以省略,省略表示把 container_port 映射到一个动态端口。 |
注:使用start是启动已经创建过得container,使用run则通过image开启一个新的container。
如何在docker容器和宿主机之间复制文件
命令 | 描述 |
---|---|
sudo docker cp host_path containerID:container_path | 从主机复制到容器 |
sudo docker cp containerID:container_path host_path | 从容器复制到主机 |
docker run --name cloud1 -h cloud1 -it jchubby/spark:1.0 | 利用镜像启用容器 |
删除容器
命令 | 描述 | |
---|---|---|
docker rm <container...> | 删除一个或多个container | |
docker rm docker ps -a -q
|
删除所有的container | |
docker ps -a -q | xargs docker rm | 同上, 删除所有的container |
通过容器生成新的镜像
命令 | 描述 |
---|---|
docker commit <container-id> <image-name> | 把一个容器转变为一个新的镜像 |
持久化容器
命令 | 描述 |
---|---|
docker export <CONTAINER ID> > /tmp/export.tar | export命令用于持久化容器 |
特殊命令
命令 | 描述 |
---|---|
docker logs $CONTAINER_ID | 查看docker实例运行日志,确保正常运行 |
docker inspect $CONTAINER_ID docker inspect <image或者container> | 查看image或container的底层信息 |
docker build <path> | 寻找path路径下名为的Dockerfile的配置文件,使用此配置生成新的image |
docker build -t repo[:tag] | 同上,可以指定repo和可选的tag |
docker build -f <dockerfile> | 使用指定的dockerfile配置文件,docker以stdin方式获取内容,使用此配置生成新的image |
docker port <container> <container port> | 查看本地哪个端口映射到container的指定端口,其实用docker ps 也可以看到 |