失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【云原生 • Docker】Docker常用命令总结(值得收藏)

【云原生 • Docker】Docker常用命令总结(值得收藏)

时间:2023-03-25 23:51:03

相关推荐

【云原生 • Docker】Docker常用命令总结(值得收藏)

上一篇文章大家应该了解和搭建了Docker环境,Docker 是一个开源的应用容器引擎。

直通车:

【云原生 • Docker】初识Docker和Docker的坏境搭建(保姆级教学)

作为一名开发或者运维人员,掌握Dcoker的命令是必不可少的。Docker命令可以让我们更好的利用他提高我们的工作效率。

以下是我个人对Docker学习和使用的一步步总结,通过一个个示例来加深各位对Docker相关命令的理解以及记忆

命令分类

1、Docker 操作命令2、镜像相关命令2.1 查询镜像2.2 搜索镜像2.3 拉取镜像2.4 删除镜像2.5 保存和加载镜像2.6 镜像标签2.7 运行镜像 3、容器相关命令3.1 查看容器3.2 运行容器3.3 容器的停止、启动和重启3.4 容器文件拷贝3.5 查看容器日志3.6 目录挂载3.7 更换容器名3.8 创建镜像3.9 查看容器 IP 地址3.10 删除容器3.11 导入和导出容器 4、运维相关命令4.1 查看docker工作目录4.2 查看docker磁盘占用总体情况4.3查看Docker的磁盘使用具体情况4.4 删除异常停止的容器4.5 删除名称或标签为none的镜像

1、Docker 操作命令

启动 Docker

systemctl start docker

停止 Docker

systemctl stop docker

重启 Docker

systemctl restart docker

查看 Docker 状态

systemctl status docker

开机自动启动Dockers

systemctl enable docker

查看 Docker 概要信息

docker info

查看 Docker 版本

docker -v

查看 Docker 帮助文档, 忘记了某些命令便可使用此进行查看与回顾

docker --help

如忘记拉取命令,可以如下使用

docker pull --help

2、镜像相关命令

2.1 查询镜像

这些镜像都存储于 /var/lib/docker 目录下

#查询本地所有镜像docker images#查询镜像名为java的镜像列表docker images java

2.2 搜索镜像

搜索镜像

# 搜索镜像docker search 镜像名#搜索用户评价大于400的java镜像docker search -f=stars=400 java

2.3 拉取镜像

不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest 加:tag 则是拉取指定版本

docker pull 镜像名 docker pull 镜像名:tag

拉取最新版 mysql

docker search mysql

拉取JAVA指定版本号的镜像

docker pull java

出现报错

Using default tag: latest

Error response from daemon: manifest for java:latest not found: manifest unknown: manifest unknown

这里错误的意思是Docker需要我们指定下载镜像的版本号,我们可以去Docker官方镜像搜索

docker pull java:openjdk-7-jre-alpine

2.4 删除镜像

镜像 ID 也可根据镜像名称

docker rmi 镜像ID

删除所有镜像

docker rmi $(docker images -q)

强制删除镜像

docker rmi -f 镜像ID

2.5 保存和加载镜像

#保存镜像docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字#加载镜像docker load -i 镜像保存文件位置

2.6 镜像标签

镜像做一个标签添加,从而行进区分

docker tag 源镜像名:TAG 想要生成新的镜像名:新的TAG# 如果省略TAG 则会为镜像默认打上latest TAGdocker tag aaa bbb

2.7 运行镜像

docker run 镜像名docker run 镜像名:Tag

运行后,出现tomcat 默认占用的8080 端口,说明该镜像已经是启动了 ,但是 咱好像鼠标没有回到咱服务器上了 ,这怎么办呢 ?

使用 Ctrl+C (注:此方式虽然可以退出容器,但此种命令操作方式却是错误的,详细缘由请见下文的容器命令)

3、容器相关命令

3.1 查看容器

#查看运行容器docker ps#查看所有容器docker ps -a #查看最后一次运行的容器docker ps -l#查看停止的容器docker ps -f status=exited

3.2 运行容器

docker run 镜像名docker run 镜像名:Tag

-i 运行容器

-t 容器启动后自动进入其命令行

–name 为创建的容器命名

-v 表示目录映射关系,前者为宿主机目录,后者是映射到宿主机上的目录

-d 加了这个参数则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器)

-p 表示端口映射,前者为宿主机端口,后者是容器内的映射端口

常用创建容器的方式为交互式创建容器和守护式创建容器,如下:

#交互式创建容器docker run -it --name=容器名称 镜像名称:标签 /bin/bash#守护式创建容器docker run -di --name=容器名称 镜像名称:标签#登录守护式容器docker exec -it 容器名称/ID /bin/bash

从容器内退出到自己服务器中,需注意两个退出命令的区别

#直接退出 未添加 -d(守护式容器) 时 执行此参数 容器会被关闭 exit#优雅退出 --- 无论是否添加-d 参数 执行此命令容器都不会被关闭Ctrl + p + q

创建一个tomca容器

docker run -id -p 8080:8080 --name=test17 tomcat1:test# netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息netstat -untlp

3.3 容器的停止、启动和重启

#启动容器docker start容器名称/ID#停止容器docker stop 容器名称/ID#重启容器docker restart 容器名称/ID#kill容器docker kill 容器ID/容器名

3.4 容器文件拷贝

#从容器内 拷出docker cp 容器ID/名称:容器内路径 容器外路径#从外部 拷贝文件到容器内docker cp 容器外路径 容器ID/名称:容器内路径

3.5 查看容器日志

docker logs --tail=要查看末尾多少行 默认all 容器ID

3.6 目录挂载

在创建容器时,我们可以将宿主机的目录与容器内的目录进行映射,这样就可以通过修改宿主机的目录文件从而直接影响容器了。

docker run -di -v 宿主机目录:容器目录 --name=容器名称 镜像名称:标签

-v命令可以多次使用,即一个容器可以同时挂载多个文件,当容器删除时,宿主机文件数据目录仍在,下次启动容器只要将数据目录指向宿主机数据所在位置即可恢复!

3.7 更换容器名

docker rename 容器ID/容器名 新容器名

3.8 创建镜像

docker commit -a="作者" -m="说明" 容器ID/容器名 镜像名:标签

3.9 查看容器 IP 地址

# 查看容器 ip 以及相关的各种数据docker inspect 容器名称/ID # 查看容器 ip 地址并输出docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称/ID

3.10 删除容器

#删除一个容器docker rm -f 容器名/容器ID#删除多个容器 空格隔开要删除的容器名或容器IDdocker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID#删除全部容器docker rm -f $(docker ps -aq)

3.11 导入和导出容器

#导出容器docker export 容器ID > XXX.tar#import 从tar包中的内容创建一个新的文件系统再导入为镜像cat XXX.tar | docker import - 镜像名:标签

4、运维相关命令

4.1 查看docker工作目录

docker info | grep "Docker Root Dir"

4.2 查看docker磁盘占用总体情况

du -hs /var/lib/docker/

4.3查看Docker的磁盘使用具体情况

docker system df

删除 无用的容器和 镜像

4.4 删除异常停止的容器

docker rm `docker ps -a | grep Exited | awk '{print $1}'`

4.5 删除名称或标签为none的镜像

docker rmi -f `docker images | grep '<none>' | awk '{print $3}'`

如果看到了这里,docker基本上入门了;但前路还长,让我们再继续深入,记得点个关注哟!

如果觉得《【云原生 • Docker】Docker常用命令总结(值得收藏)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。