常用命令
# 配置 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-timesyncdps -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 鏡像的名稱和版本號,你需要將其替換為你實際的鏡像名稱和版本號。