Docker容器操作方法详解

 更新时间:2022年08月11日 15:15:14   作者:Gauss松鼠会  
Docker 在隔离的容器中运行进程。之前总结了Docker镜像的使用详解,本篇按照之前测试openGauss容器过程中总结出来使用Docker容器的常用命令

一、常用命令

下面按照使用容器中的流程: 创建并启动容器 > 查询容器 > 进入容器 > 退出容器 > 停止容器 > 启动/重启容器 > 删除容器来介绍Dockers常用命令,带领小伙伴快速入门。

1.创建并启动容器

docer run

当操作者执行docker run时,运行的容器进程是隔离的,因为它有自己的文件系统,自己的网络,以及自己与主机分离的隔离进程树。

docker run [OPTIONS] IMAGE [COMMAND] [ARG…]

docker run命令必须指定一个IMAGE来派生容器。image开发人员可以定义与以下相关的默认值:

−分离或前台运行

−容器识别

−网络设置

−CPU 和内存的运行时限制

使用docker run [OPTIONS]操作人以添加或覆盖开发人员设置的image默认值。操作人可以修改image和 Docker 运行时超多参数,–help的时候你会发现列表超长。

以openGauss启动示例:

docker run --name wodexiaoguaiguai --privileged=true -d -e GS_PASSWORD=Enmo@123 -v /enmotech/opengauss:/var/lib/opengauss -p 15432:5432  enmotech/opengauss:3.0.0

--name 表示为启动的容器起个名字,这个名字在宿主机上唯一。所以有时候,容器停止后再用相同的命令启动就会报错,XXX is already in use by container。解决办法参考《使用Docker部署openGauss》的Q&A。

--privileged 表示是否使用特权模式,设置–privileged=true提升系统执行权限。设置为true后,容器内的root用户才是真正的root权限,否则只是一个普通用户。

-d 表示要以分离模式(也就是后台模式)启动容器,这样执行后会返回容器ID,不会进入交互界面。如果想要进入交互界面需要-i 和-t参数。

-e 表示要设置环境变量,多个环境变量就多个 -e ,至于需要什么环境变量就跟镜像息息相关了。

-v 由于容器自身挥一挥衣袖不带走一片云彩的特点,这个参数表示绑定一个卷,实现数据的持久化,冒号前面表示宿主机的目录,后面是容器内目录。目录不存在会自动生成。

-p 端口映射,示例中将宿主机上的15432端口映射到容器的5432端口。还有一种映射参数是大写的P,-P表示容器内部端口随机映射到主机的端口。

最后的enmotech/opengauss:3.0.0表示使用的镜像名称。

2.列出所有容器

docker ps -a

使用docker ps可以查出当前运行(STATUSUP)的容器。而docker ps -a可以查出所有的容器,包括Exited状态的容器,a 表示all的意思。示例:

[root@pekphisprb70593 software]# docker ps 
CONTAINER ID   IMAGE                       COMMAND                  CREATED      STATUS      PORTS                                                 NAMES 
828cc4491684   enmotech/opengauss:latest   "entrypoint.sh -M st…"   7 days ago   Up 7 days   5432/tcp, 0.0.0.0:6432->6432/tcp, :::6432->6432/tcp   opengauss_slave1 
7213afbe01df   enmotech/opengauss:latest   "entrypoint.sh -M pr…"   7 days ago   Up 7 days   0.0.0.0:5432->5432/tcp, :::5432->5432/tcp             opengauss_master

这里第一列的CONTAINER ID就是容器ID,最后一列的NAME就是docker run时指定的容器名称。后面会用到。

还可以使用-q 参数只获取容器ID,看起来清爽许多。

[root@pekphisprb70593 software]# docker ps -a -q 
828cc4491684 
7213afbe01df

3.进入容器

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

容器-d 模式启动后,需要登录容器才能在其中进行操作。docker exec适用于在现有容器中运行命令的情况。此时需要进行交互,所以需要加上熟悉的 -it。

docker exec -it 828cc4491684 /bin/bash

docker exec -it opengauss_master /bin/bash

4.退出容器

exit

做完想做的事情后,退出容器就是很通用的 exit。

5.停止容器

docker stop 容器名称/ID

需要停止容器的时候可以通过该命令完成,指定容器ID或容器名称都可。

停止单个容器

docker stop opengauss_master

停止所有容器

docker stop $(docker ps -a -q)

6.启动/重启一个已停止的容器

docker start/restart 容器名称/ID

这种启动适用于之前已经通过docker run创建好容器的场景。用法和stop 类似,都比较简单。示例

docker start 828cc4491684

7.删除容器

docker rm 容器名称/ID

容器用完后就需要删除释放资源。

删除单个容器

docker rm opengauss_master

删除所有容器

docker rm $(docker ps -a -q)

二、使用帮助

Docker有大量的命令,大概有40+,很难把所有的都记住。

一般我们只需要记住常用的一些,对于其他可以运行Docker --help。

[root@pekphisprb70593 software]# docker --help 

Docker 1.13+引入了子命令来帮助管理原来大量的Docker命令。两种方式只是组织方式不同,执行功能相同。在帮助文本中,我们可以看到Management Commands(管理命令)和Commands(命令),通过管理命令对所有命令进行分类,更有助于Docker命令的使用。

例如,查询所有容器可以使用docker ps ,也可使用新的子命令docker container ls。两者执行效果相同,同样,docker image ls也可以替代docker images。如图:

对于单独的命令,我们还可以使用docker [command] --help进行查询帮助。例如:

[root@pekphisprb70593 software]# docker pull --help 
Usage:  docker pull [OPTIONS] NAME[:TAG|@DIGEST] 
Pull an image or a repository from a registry 
Options: 
  -a, --all-tags                Download all tagged images in the repository 
      --disable-content-trust   Skip image verification (default true) 
      --platform string         Set platform if server is multi-platform capable 
  -q, --quiet                   Suppress verbose output 

openGauss: 一款高性能、高安全、高可靠的企业级开源关系型数据库。

到此这篇关于Docker容器操作方法详解的文章就介绍到这了,更多相关Docker容器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker安装geoserver的方法步骤

    docker安装geoserver的方法步骤

    GeoServer是OGC Web服务器规范的J2EE实现,利用GeoServer可以方便地发布地图数据,本文主要介绍了docker安装geoserver的方法步骤,感兴趣的可以了解一下
    2024-08-08
  • python 编写输出到csv的操作

    python 编写输出到csv的操作

    这篇文章主要介绍了python 编写输出到csv的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • dockerfile制作apache镜像的方法

    dockerfile制作apache镜像的方法

    这篇文章主要介绍了dockerfile制作apache镜像的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • docker 环境搭建、docker 与容器常用指令大全(推荐)

    docker 环境搭建、docker 与容器常用指令大全(推荐)

    这篇文章主要介绍了docker 环境搭建、docker 与容器常用指令大全,主要包括docker容器操作命令汇总,文中介绍需要注意的是如果想要删除一个容器,需要先停止该容器且如果镜像中有运行状态的容器,也是无法删除容器的,需要的朋友可以参考下
    2022-06-06
  • docker运行jar包加载外部配置文件方式

    docker运行jar包加载外部配置文件方式

    这篇文章主要介绍了docker运行jar包加载外部配置文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 使用Docker部署Tomcat的实现示例

    使用Docker部署Tomcat的实现示例

    在本地编写好了Spring项目,为了实现能够随时地访问,所以需要将项目部署到服务器,本文主要介绍了使用Docker部署Tomcat的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • Windows10安装WSL2 Ubuntu20.04并设置docker环境的方法

    Windows10安装WSL2 Ubuntu20.04并设置docker环境的方法

    这篇文章主要介绍了Windows10安装WSL2 Ubuntu20.04并设置docker环境的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Docker学习之数据卷和Dockerfile详解

    Docker学习之数据卷和Dockerfile详解

    在容器化应用的开发和部署过程中,数据的持久化和共享是一个重要的问题,下面这篇文章主要给大家介绍了关于Docker学习之数据卷和Dockerfile的相关资料,需要的朋友可以参考下
    2024-04-04
  • 详解docker 容器不自动退出结束运行的方法

    详解docker 容器不自动退出结束运行的方法

    本文主要简单介绍 docker 容器与前置进程的关系,以及如何编写 Dockerfile/docker-compose.yml 优雅的让容器可以常驻运行。具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • docker容器的创建及常用操作命令详解

    docker容器的创建及常用操作命令详解

    这篇文章主要为大家介绍了docker容器的创建及常用操作命令详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04

最新评论