常用命令

# 配置 Docker 守护进程的行为和参数
vi /etc/docker/daemon.json

# 停止docker服务
sudo systemctl stop docker

# 启动 Docker 服务:
sudo systemctl start docker

# 重新加载systemd守护程序的配置文件,不会重启服务(配置文件:/etc/systemd/system/)
systemctl daemon-reload

# 通过systemd重启docker服务(用于配置更改、服务更新或修复问题等情况,影响该主机上运行的所有容器)
systemctl restart docker

# 重启容器
docker restart <容器名称或容器ID>

# 重启守护进程
systemctl daemon-reload

# 开机启动
systemctl enable docker

# 查看docker状态
systemctl status docker

# 查看docker 概要信息
docker info

# 运行一个docker 指定容器
docker run   xxx

systemctl start docker与start docker 区别

在基于 Systemd 的 Linux 发行版上(如 Ubuntu 16.04 及以后版本、CentOS 7 及以后版本等),sudo systemctl start dockersudo start docker 这两个命令有一些区别:

  1. sudo systemctl start docker:这是使用 Systemd 的标准命令来启动 Docker 服务。Systemd 是一个初始化系统,用于管理系统的启动、运行和关闭等过程。使用该命令可以确保 Docker 以 Systemd 的方式正确启动,同时还可以查看与 Docker 相关的日志。

  2. sudo start docker:这是一种较早的 SysVinit 启动方式的命令,适用于早期版本的 Linux 发行版。在现代基于 Systemd 的系统上,start 命令可能会被解释为一个 Systemd 单元,从而导致一些不一致性。

如果你的系统正在使用 Systemd,建议使用 sudo systemctl start docker 来启动 Docker 服务,这是更标准和推荐的做法。SysVinit 命令在一些现代 Linux 发行版中仍然可以使用,但在 Systemd 环境中可能不太合适。

查看当前系统正在使用的是哪个服务

ps -aux | grep systemd
root         447  0.1  0.2 301656 85280 ?        S<s  8月09   1:13 /lib/systemd/systemd-journald
root         485  0.0  0.0  25020  5100 ?        Ss   8月09   0:02 /lib/systemd/systemd-udevd
systemd+     885  0.0  0.0  24948  2968 ?        Ss   8月09   0:36 /lib/systemd/systemd-resolved
systemd+     886  0.0  0.0  90912   524 ?        Ssl  8月09   0:00 /lib/systemd/systemd-timesyncd

ps -aux | grep sysvinit
user+ 1761038  0.0  0.0  17684  2796 pts/3    S+   11:07   0:00 grep --color=auto sysvinit

# 或通过下面命令直接查看

# 运行命令 ps -p 1 -o comm= 可以用于查看 PID 为 1 的进程的名称,从而确定正在运行的 init 进程的类型。
# 在 Linux 系统中,PID 1 的进程通常是系统初始化进程,其类型可能是 Systemd、SysVinit 或其他
# 如果输出结果为 systemd,则表示系统正在使用 Systemd 初始化系统。
ps -p 1 -o comm=

可以明显看到当前系统使用的是systemd服务

举例

docker run --rm -it -v ${CURRENT_DIR}:/host xx.xx.info:xxx/xxx:2.0.0 /bin/bash

这个命令是在 Docker 中运行一个容器,并与容器交互,允许你在容器中执行命令。下面是命令中各个参数的解释:

  • docker run: 运行一个新的容器。
  • --rm: 容器退出时自动删除容器。
  • -it: 创建一个交互式的终端。
  • -v ${CURRENT_DIR}:/host: 将当前目录挂载到容器中的 /host 目录。
  • xx.xx.info:xxx/xxx:2.0.0: Docker 镜像的名称和版本号。
  • /bin/bash: 在容器中运行的命令,这里是启动一个 Bash 终端。

这个命令的作用是启动一个容器,将当前目录挂载到容器中,并在容器中启动一个 Bash 终端,以便你可以在容器内执行命令和操作文件。

请注意,${CURRENT_DIR} 是一个环境变量,表示当前目录。你需要确保在运行这个命令之前,你已经进入到了希望挂载到容器中的目录。

另外,xx.xx.info:xxx/xxx:2.0.0 是一个 Docker 镜像的名称和版本号,你需要将其替换为你实际的镜像名称和版本号。

GitHub 加速计划 / li / linux-dash
6
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐