【云原生 | 从零开始学Docker】二、Docker的常用指令学习以及使用

该篇文章已经被专栏《从零开始学docker》收录

在这里插入图片描述

一、如何去学习命令

我们应该如何去学习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 containerkill指定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开始的蓝桥杯省一之路,云原生系列。
感谢各位的观看,文章掺杂个人理解,如有错误请联系我指出~

在这里插入图片描述

  • 76
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 82
    评论
Docker是目前比较流行的容器化技术,其优点在于方便管理和部署应用程序。而Halo博客系统是一款基于Java开发的博客系统,其部署过程比较复杂,需要安装JDK、MySQL等依赖。本文将介绍如何使用Docker部署Halo博客系统。 1. 安装Docker 首先需要在服务器上安装Docker,可以参考官方文档进行安装。 2. 创建Docker镜像 将Halo博客系统打包成Docker镜像,可以通过Dockerfile或者docker-compose.yml文件进行创建。在这里我们以Dockerfile为例。 先创建一个空目录,将Halo博客系统的jar包和配置文件拷贝到该目录下: ``` mkdir -p /opt/halo cp -r halo.jar /opt/halo/ cp -r application.properties /opt/halo/ ``` 然后创建Dockerfile: ``` FROM openjdk:8-jre-alpine MAINTAINER yourname <youremail@domain.com> ADD halo.jar /opt/halo/halo.jar ADD application.properties /opt/halo/application.properties WORKDIR /opt/halo CMD ["java", "-jar", "halo.jar", "--spring.config.location=application.properties"] EXPOSE 8888 ``` 其中FROM指定了基础镜像,ADD将jar包和配置文件拷贝到镜像中,WORKDIR指定工作目录,CMD指定应用启动命令,EXPOSE指定容器监听的端口。 使用docker build命令创建镜像: ``` docker build -t halo . ``` 其中halo为镜像名称,可以根据需要自行修改。 3. 启动容器 使用docker run命令启动容器: ``` docker run -d -p 8080:8888 --name halo-demo halo ``` 其中-d表示启动守护进程,-p将容器的8888端口映射到主机的8080端口,--name指定容器名称,halo为镜像名称。 启动成功后,在浏览器中输入http://localhost:8080访问Halo博客系统即可。 以上就是使用Docker部署Halo博客系统的步骤,相信通过这个实战,大家可以更好地了解云原生Docker使用和部署。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 82
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cloud、泡泡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值