该篇文章已经被专栏《从零开始学docker》收录
Docker常用命令使用
- 一、如何去学习命令
- 二、镜像常用命令
-
- 2.1查看本地所有镜像
- 2.2 搜索镜像
- 2.3下载镜像
- 2.4 删除镜像
- 2.5 查看系统信息
- 三、容器常用命令
-
- 3.1 新建容器启动
- 3.2 查看运行的容器
- 3.3 退出容器
- 3.4 删除容器
- 3.5 启动容器
- 3.6 重启容器
- 3.8 停止容器
- 3.9 重启强制杀死容器
- 四、其他常用命令
-
- 4.1 直接后台启动
- 4.2 查看日志
- 4.3 查看容器进程信息
- 4.4 查看镜像元数据
- 4.5 进入当前正在运行的容器
- 4.6 容器内拷贝文件到主机
- 五、命令汇总
- 六、写在最后
一、如何去学习命令
我们应该如何去学习docker的命令,这是一个老生常谈的话题了,作为一个知识类博主,我想告诉各位的是学习的方法真的很重要,学习一个东西,不只是死记硬背,学习命令也一样,所以接下来这个命令是最重要的,没有之一,要学会如何去使用,以后会帮上你的忙。
接下来的常用命令,大家都跟着去敲一边,很快你就会记住怎么用了~~
第一个命令可能学过linux的各位也都知道,就是帮助命令。
docker 命令 --help
linux内有帮助命令,docker同样也有,如果你有不懂得命令可以直接用这个去查,比如
docker run --help
屏幕上就会显示run的参数一类的信息,当然,如果你想看更详细的,可以去docker官网查询你想查询的命令,这也是一种方法,各位在需要使用命令的时候建议先去查询一下看一看。
二、镜像常用命令
提到这个,就是我们熟悉的增删改查了哈哈哈,接下来我一一介绍
2.1查看本地所有镜像
docker images #查看本地所有镜像
我们直接在shell输入这个命令就可以查看本地有多少镜像了REPOSITORY:表示镜像的仓库源 TAG:镜像的标签 IMAGE ID:镜像ID CREATED:镜像创建时间 SIZE:镜像大小
常用的选项有
-a #列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层) -q #只显示镜像ID
2.2 搜索镜像
docker search 要搜索的镜像名字 #搜索镜像 常用选项 -f 基于给定条件过滤输出
用在搜索自己想下载的镜像 比如 docker search mysql 选项使用示范 docker search -f=STARS=3000 mysql 过滤收藏在3000及以上的镜像。
2.3下载镜像
docker pull 镜像名字 #下载 默认最新 docker pull 镜像名字[:TAG] #下载特定版本 docker pull mysql:5.7 下载5.7版本的mysql。
2.4 删除镜像
docker rmi 镜像id #可以通过id和名字删除 也可以删除多个镜像 空格隔开 docker rmi -f $(docker images -aq) #全部删除 相当于rm-rf
2.5 查看系统信息
docker version #显示版本信息 docker info #显示docker系统信息 包括容器镜像数量
三、容器常用命令
有了镜像才能创建容器,这里下载一个centos
docker pull centos
3.1 新建容器启动
docker run [参数] image #创建 运行 下面的选项一部分我们会在后面讲到,各位有个了解眼熟就好,现在了解-d i t就好 常用选项 -d: 后台运行容器,并返回容器ID -i: 以交互模式运行容器,通常与 -t 同时使用 -P: 随机端口映射,容器内部端口随机映射到主机的端口 -p: 指定端口映射,格式为:主机(宿主)端口:容器端口 -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用 --name="自定义名字": 为容器指定一个名称 --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致 -h "mars": 指定容器的hostname -e username="ritchie": 设置环境变量 --net="bridge": 指定容器的网络连接类型,支持bridge/host/none/container四种类型 --link=[]: 添加链接到另一个容器 --expose=[]: 开放一个端口或一组端口 --volume , -v: 绑定一个卷 docker run -it centos /bin/bash 我们交互方式进入centos,使用bash作为shell。 启动并进入容器 此时内部和外部没有半毛钱关系
登录成功之后我们名字会变成这个镜像的id
3.2 查看运行的容器
我们输入exit退出刚才进入的centos。 然后使用我们的指令
docker ps #查看当前运行的容器 常用选项 -a 当前正在运行的容器+历史运行过的 -n=? 显示最近创建的容器,比如最近的一个 docker ps -a -n=1 -q 只显示id
第一个是正在运行的 第二个-a是所有的 第三个是所有镜像的id
3.3 退出容器
exit 直接退出结束 Ctrl+p+q 让容器在后台运行,不停止并且退出
3.4 删除容器
docker rm 容器id #正在运行的容器不可以删除 docker rm -f $(docker ps -aq) #全部容器删除
3.5 启动容器
docker start 容器id
3.6 重启容器
docker restart 容器id
3.8 停止容器
docker stop 容器id
3.9 重启强制杀死容器
docker kill 容器id
四、其他常用命令
4.1 直接后台启动
docker run -d 容器名或者id 此时我们用 docker run -d centos之后然后ps查看一下,我们会发现centos停止了,docker是容器使用后台运行,如果是后台运行必须有前台进程,如果你没有运行前台进程那么docker发现没有应用就自动停止了
4.2 查看日志
docker logs #查看日志 常用选项 -t 是加入时间戳 -f 跟随最新的日志打印 --tail 数字 显示最后多少条
4.3 查看容器进程信息
docker top 容器id
4.4 查看镜像元数据
docker inspect 容器id #显示的信息有 主机配置 id 镜像从哪来 网络等信息
4.5 进入当前正在运行的容器
docker exec -it 容器id # shell路径 exec是在容器中打开新的终端,并且启动新的进程 docker attach 容器id # attach直接进入容器启动命令的终端,不会启动新的进程
4.6 容器内拷贝文件到主机
docker cp 容器id:容器内路径 主机路径
我们可以进入刚才的centos home目录里面创建一个文件,使用 touch 命令,然后Ctrl+q+p退出,再使用我们的 docker cp b1f0258395c2:/home/paopao.cpp /home 就可以把刚才在centos home目录里面创建的文件复制出来了
五、命令汇总
命令 | Value |
---|---|
attach Attach to a running container | 当前shell下attach连接指定运行镜像 |
build Build an image from a Dockerfile | 通过Dockerfile定制镜像 |
commit Create a new image from a container’s changes | 提交当前容器为新的镜像 |
cp Copy files/folders from a container to a HOSTDIR or to STDOUT | 从容器中拷贝指定文件或者目录到宿主机中 |
create Create a new container | 创建一个新的容器,同run 但不启动容器 |
diff Inspect changes on a container’s filesystem | 查看docker容器变化 |
events Get real time events from the server | 从docker服务获取容器实时事件 |
exec Run a command in a running container | 在已存在的容器上运行命令 |
export Export a container’s filesystem as a tar archive | 导出容器的内容流作为一个tar归档文件(对应import) |
history Show the history of an image | 展示一个镜像形成历史 |
images List images | 列出系统当前镜像 |
import Import the contents from a tarball to create a filesystem image | 从tar包中的内容创建一个新的文件系统映像(对应export) |
info Display system-wide information | 显示系统相关信息 |
inspect Return low-level information on a container or image | 查看容器详细信息 |
kill Kill a running container | kill指定docker容器 |
load Load an image from a tar archive or STDIN | 从一个tar包中加载一个镜像(对应save) |
login Register or log in to a Docker registry | 注册或者登陆一个docker源服务器 |
logout Log out from a Docker registry | 从当前Docker registry退出 |
logs Fetch the logs of a container | 输出当前容器日志信息 |
pause Pause all processes within a container | 暂停容器 |
port List port mappings or a specific mapping for the CONTAINER | 查看映射端口对应的容器内部源端口 |
ps List containers | 列出容器列表 |
pull Pull an image or a repository from a registry | 从docker镜像源服务器拉取指定镜像或者库镜像 |
push Push an image or a repository to a registry | 推送指定镜像或者库镜像至docker源服务器 |
rename Rename a container | 重命名容器 |
restart Restart a running container | 重启运行的容器 |
rm Remove one or more containers | 移除一个或者多个容器 |
rmi Remove one or more images | 移除一个或多个镜像(无容器使用该镜像才可以删除,否则需要删除相关容器才可以继续或者-f强制删除) |
run Run a command in a new container | 创建一个新的容器并运行一个命令 |
save Save an image(s) to a tar archive | 保存一个镜像为一个tar包(对应load) |
search Search the Docker Hub for images | 在dockerhub中搜索镜像 |
start Start one or more stopped containers | 启动容器 |
stats Display a live stream of container(s) resource usage statistics | 统计容器使用资源 |
stop Stop a running container | 停止容器 |
tag Tag an image into a repository | 给源中镜像打标签 |
top Display the running processes of a container | 查看容器中运行的进程信息 |
unpause Unpause all processes within a container | 取消暂停容器 |
version Show the Docker version information | 查看容器版本号 |
wait Block until a container stops, then print its exit code | 截取容器停止时的退出状态值 |
六、写在最后
创作不易,如果觉得内容对你有帮助,麻烦给个三连关注支持一下我! 目前正在更新的系列:从0开始的蓝桥杯省一之路,云原生系列。 感谢各位的观看,文章掺杂个人理解,如有错误请联系我指出~