原创

基于DevOps平台构建自己博客:7-Docker使用及操作命令介绍

温馨提示:
本文最后更新于 2022年11月15日,已超过 490 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

一、Docker的安装

关于Docker的安装网上有很多教程,虽然不同的系统略微不同,但是也很简单,这里就不多说了。本篇的主要目的是为后续使用Docker时做一个基础的讲解,所以,本篇重点讲具体的使用及相关的命令。

安装结束之后,可以在控制台输入如下命令测试Docker是否可以正常使用

docker

二、Docker的常用命令

1. 查找镜像

该命令可以查找对应名字的镜像,命令执行后可以看到具体的镜像名字,描述,星级等信息。

命令:docker search 镜像名称

例子:docker search mysql

2. 拉取镜像

该命令可以根据名字下载镜像到本地环境。

命令:docker pull 镜像名称

例子:docker pull mysql

3. 创建容器

该命令可以使用本地已经下载的镜像创建容器,并启动。需要注意的是,启动命令可以附加参数,即启动或初始化参数都可以通过启动命令的设置完成。这里以mysql的为例。

命令:docker run  参数1 参数2 ... -d 镜像名称

例子:docker run -p 3306:3306 --name v8en -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=sa5221987 -d mysql

  • -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
  • -v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
  • -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
  • -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
  • -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

 

4. 查看容器进程

该命令可以查看已经创建的容器,可以看到容器的ID,容器的状态,启动时间等等信息。

命令:docker ps 参数

例子:docker ps -a

 

5. 停止容器

该命令可以停止在运行的容器,通过4中的命令,可以看到容器的运行状态,对于在运行容器,通过该命令停止。

命令:docker stop 镜像名称/容器ID

例子:docker stop app-web

由上图可以看到,我们停止了app-web这个容器,而这个容器是我的博客的前台页面所在的容器。停止后我的博客则无法访问,但不影响我的后台。

 

6.  启动容器

该命令对于已经创建的容器,并且处于停止状态的容器进行启动。

命令:docker start 容器名称

例子:docker start app-web

启动后,前台页面也就可以正常访问了

7. 删除容器

该命令可以删除已经创建的容器,我这里就不演示了。

命令:docker rm 容器名称/容器ID

例子:docker rm app-web

 

8. 进入已启动的容器

该命令用于进入已经启动的容器内。因为我们的应用都是在容器内运行,所以,如果要获得应用运行情况的信息,最直接的方式就是进入容器内查看。

命令:docker exec -it 容器名称/容器ID /bin/bash

例子:docker exec -it app-web /bin/bash

可以看到,进入容器后,跟我们进入另外一个系统一样,app.jar便是我们在容器中启动的应用,当然,这个是我的springboot应用打包后的状态,不同的应用,进入后是不同的情况,具体取决于我们的dockerfile如何定义的。

退出容器使用exit就可以。

 

9. 查看容器的运行日志

通常情况系,我们在定位问题或需要查看容器启动失败的原因时,需要去查看容器的启动日志,如下就是查看docker容器日志的命令。

命令:docker logs -f -t --tail 行数 容器名称

例子:docker logs -f -t --tail 10 app-web

 

10. 导出容器中的内容

如果想把容器中的应用导出,则使用如下命令。

命令:docker export -o 应用名 容器名称/容器ID

例子:docker export -o app.jar app-web

由图中可以看到,我们导出了app.jar

 

11. 查看镜像文件

随着我们应用不断更新,会生成很多镜像,而这些镜像如果需要部署到服务器,则必须先pull到本地,这样就会有大量的镜像文件堆积,且都是旧版本。所以,我们可以通过如下命令查看已经pull的镜像。

命令:docker images

例子:docker images

12. 删除镜像文件

知道有多余不用的镜像,就可以将他们删除掉,释放空间。

命令:docker image -rm 镜像名称/镜像ID

例子:docker image -rm mysql

正文到此结束