Docker 常用命令

查看

docker images           # 列出所有镜像(images)
docker ps               # 列出正在运行的容器(containers)
docker ps -a            # 列出所有的容器
docker pull centos      # 下载centos镜像
docker top <container>  # 查看容器内部运行程序

容器

docker stop <container>                  # 停止一个正在运行的容器,<container>可以是容器ID或名称
docker start <container>                 # 启动一个已经停止的容器
docker restart <container>               # 重启容器
docker rm <container>                    # 删除容器

docker run -i -t -p :80 LAMP /bin/bash   # 运行容器并做http端口转发
docker exec -it <container> /bin/bash    # 进入ubuntu类容器的bash
docker exec -it <container> /bin/sh      # 进入alpine类容器的sh

docker rm `docker ps -a -q`              # 删除所有已经停止的容器
FOR /f tokens=* %i IN ('docker ps -a -q') DO docker rm %i  # windows系统,用上面的命令会出错:unknown shorthand flag: 'a' in -a 
docker kill $(docker ps -a -q)           # 杀死所有正在运行的容器,$()功能同``

提交/导出

docker build --rm=true -t hjue/lamp .    # 建立映像文件。–rm 选项是告诉Docker,在构建完成后删除临时的Container,Dockerfile的每一行指令都会创建一个临时的Container,一般这些临时生成的Container是不需要的
docker commit 3a09b2588478 mynewimage    # 提交你的变更,并且把容器保存成镜像,命名为mynewimage,3a09b2588478为容器的ID

docker save mynewimage | bzip2 -9 -c> /home/save.tar.bz2  # 把 mynewimage 镜像保存成 tar 文件
bzip2 -d -c < /home/save.tar.bz2 | docker load            # 加载 mynewimage 镜像

docker export <CONTAINER ID> > /home/export.tar           # 导出Image
cat /home/export.tar | sudo docker import - mynewimage    # 导入Image镜像

镜像

docker run -i -t centos /bin/bash          # 运行centos镜像
docker run -d -p 80:80 hjue/centos-lamp    # 运行centos-lamp镜像

docker rmi [image-id]                      # 删除镜像
docker rmi $(docker images -q)             # 删除所有镜像
docker rmi $(sudo docker images --filter dangling=true -q --no-trunc)  # 删除无用镜像

帮助

docker run --help

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

昵称 *