常用命令
# 配置 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 docker
和 sudo start docker
这两个命令有一些区别:
sudo systemctl start docker
:这是使用 Systemd 的标准命令来启动 Docker 服务。Systemd 是一个初始化系统,用于管理系统的启动、运行和关闭等过程。使用该命令可以确保 Docker 以 Systemd 的方式正确启动,同时还可以查看与 Docker 相关的日志。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 镜像的名称和版本号,你需要将其替换为你实际的镜像名称和版本号。