Docker 使用快速入门

本文详细介绍了Docker容器的创建、启动、进入、退出、停止、重启及删除等常用命令,帮助读者快速掌握Docker操作,实现容器化应用的管理。
摘要由CSDN通过智能技术生成

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

目录

创建并启动容器`docer run`

列出所有容器`docker ps -a`

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

退出容器`exit`

停止容器`docker stop 容器名称/ID`

启动/重启一个已停止的容器`docker start/restart 容器名称/ID`

删除容器`docker rm 容器名称/ID`


创建并启动容器`docer run`

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

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

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

  • 分离或前台运行
  • 容器识别
  • 网络设置
  • CPU 和内存的运行时限制

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

示例:

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

`--name` 表示为启动的容器起个名字,这个名字在宿主机上唯一。所以有时候,容器停止后再用相同的命令启动就会报错,XXX is already in use by container。解决办法可以换个容器名字或者删除原容器。

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

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

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

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

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

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

列出所有容器`docker ps -a`

使用`docker ps`可以查出当前运行(`STATUS`是`UP`)的容器。而`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   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             xxxxx

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

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

[root@pekphisprb70593 software]# docker ps -a -q
623cc4491796 
8913afee01df

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

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

docker exec -it 623cc4491796 /bin/bash 

docker exec -it xxxxxx /bin/bash

退出容器`exit`

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

停止容器`docker stop 容器名称/ID`

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

停止单个容器

docker stop xxxx

停止所有容器

docker stop $(docker ps -a -q)

启动/重启一个已停止的容器`docker start/restart 容器名称/ID`

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

docker start 623cc4491796

删除容器`docker rm 容器名称/ID`

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

删除单个容器

docker rm opengauss_master

删除所有容器

docker rm $(docker ps -a -q)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值