docker容器常用命令【运行(开机自启)、停止、启动、暂停、恢复运行、日志、容器状态、 进入容器执行命令】

1. 容器相关命令介绍

容器操作的命令如图:
在这里插入图片描述

1.1. 容器保护的三个状态:
  1. 运行:进程正常运行
  2. 暂停:进程暂停,CPU不再运行,但不释放内存
  3. 停止:进程终止,回收进程占用的内存、CPU等资源

2. docker常用容器操作命令

2.1. 创建并运行一个容器

以创建并运行一个Nginx容器为例:

2.1.1 拉取镜像至本地

如已有镜像,则跳过该步骤;
这里拉取得是Nginx最新版本即latest,具体步骤不细谈了,如不清楚如何操作,可跳转至拉取命令查看详细步骤

2.1.2 创建并运行一个容器

DockerHub官网中下拉找到How to use this image章节,这里可以看到官网给出了诸多启动命令示例
在这里插入图片描述
这里我们选取框中的官网命令示例来进行演示:
docker run --name some-nginx -d -p 8080:80 some-content-nginx

# nginx镜像启动命令
docker run --name mn -d -p 80:80 nginx:latest

在这里插入图片描述
命令执行后,输出容器ID(唯一,红色框中部分)

命令解读:
docker run :创建并运行一个容器
–name : 给容器命名。(蓝色框中部分)
-d:后台运行容器
-p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口。(黄色框中部分)
nginx:latest:镜像名称:tag。(绿色框中部分)

-p 参数,是将容器端口映射到宿主机端口。
默认情况下,容器是隔离环境,我们直接访问宿主机的端口,肯定访问不到容器中的nginx.
现在,将容器的80与宿主机的80关联起来,当我们访问宿主机的80端口时,就会被映射到容器的80,这样就能访问到nginx了。

在这里插入图片描述

2.2. 查看容器运行状态

#查看所有运行的容器及状态
docker ps
#查看所有容器及状态
docker ps -a
#查看某个容器的状态。如不加-a则只能看到运行中的容器
docker ps -a | grep mn

2.3. 查看容器运行日志

# 查看容器mn的运行日志
docker logs mn

2.4. 暂停运行中的容器

# 暂停容器(mn)的运行
docker pause mn

在这里插入图片描述

2.5. 恢复运行暂停中的容器

# 恢复暂停容器(mn)的运行
docker unpause mn

在这里插入图片描述

2.6. 停止容器运行

# 停止容器(mn)的运行
docker stop mn

在这里插入图片描述

2.7. 运行停止的容器

# 运行停止的容器(mn)
docker start mn

在这里插入图片描述

2.8. 删除容器

# 删除容器(mn),-f:强制删除正在运行的容器
docker rm -f  mn

2.9.容器设置自动启动:

启动命令中加入 --restart=always

# nginx镜像启动命令(加入开机自启动)
docker run -d --restart=unless-stopped --name=mn  -p 80:80  nginx:latest
# 已经启动的项目,使用update更新
docker update --restart=unless-stopped mn

Flag Description:

  1. –restart=always : 表示容器退出时,docker会总是自动重启这个容器
  2. –restart=on-failure:3 : 表示容器的退出状态码非0(非正常退出),自动重启容器,3是自动重启的次数。超过3此则不重启
  3. –restart=no默认值,容器退出时,docker不自动重启容器
  4. –restart=unless-stopped : 表示容器退出时总是重启,但是不考虑docker守护进程运行时就已经停止的容器

2.10. 进入容器执行命令:

# 进入容器,使用bash命令
docker exec -it mn bash

命令解读:

  1. docker exec :进入容器内部,执行一个命令
  2. -it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
  3. mn :要进入的容器的名称
  4. bash:进入容器后执行的命令,bash是一个linux终端交互命令

示例:进入Nginx容器,修改Nginx中HTML文件的内容

步骤如下:

# 进入容器,使用bash命令
docker exec -it mn bash
# 进入html所在目录
cd /usr/share/nginx/html
# 修改index.html的内容(容器内没有vi命令,无法直接修改,所以使用下面的命令来修改)
sed -i -e 's#Welcome to nginx# my nginx!!!#g' -e 's#<head>#<head><meta charset="utf-8">#g' index.html

修改前:
在这里插入图片描述
修改后:
在这里插入图片描述

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值