docker-18.06.3-ce.tgz
- https://download.docker.com/linux/static/stable/x86_64/
- 上传解压
- 将docker中的全部文件,使用下边命令,复制到
/usr/bin
cp ./docker/* /usr/bin
# 创建docker.service文件
cd /etc/systemd/system/
touch docker.service
# 内容
注意,将其中的ip地址,改成 自己的服务器地址,其它参数不用改。
conf
# 将其中的ip地址,改成 自己的服务器地址,其它参数不用改。 --insecure-registry=192.168.205.230
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd --selinux-enabled=false --insecure-registry=192.168.205.230
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
为什么要写docker.service
docker.service
是一个 systemd 单元文件,用于管理 Docker 守护进程(Docker daemon)的启动和停止。systemd 是一个在现代 Linux 系统中广泛使用的初始化系统和服务管理器。
编写 docker.service
文件的目的是为了定义 Docker 守护进程的配置和行为,以便 systemd 可以管理它。这样,你就可以使用 systemd 命令来启动、停止、重启和管理 Docker 守护进程。
docker.service
文件通常位于 /etc/systemd/system/
目录下,它包含了一些配置项,如 Docker 守护进程的启动参数、依赖关系、工作目录等。通过编辑 docker.service
文件,你可以自定义 Docker 守护进程的行为,以满足你的特定需求。
在编写 docker.service
文件后,你可以使用以下命令来管理 Docker 守护进程:
- 启动 Docker 守护进程:
sudo systemctl start docker
- 停止 Docker 守护进程:
sudo systemctl stop docker
- 重启 Docker 守护进程:
sudo systemctl restart docker
- 查看 Docker 守护进程状态:
sudo systemctl status docker
通过 systemd 管理 Docker 守护进程,可以使其在系统启动时自动启动,并提供了更方便的管理方式。
启动docker
chmod +x /etc/systemd/system/docker.service
systemctl daemon-reload
systemctl enable docker.service
systemctl start docker
逐行解释每一行代码的含义:
chmod +x /etc/systemd/system/docker.service
:这条命令给/etc/systemd/system/docker.service
文件添加可执行权限。这是为了确保 systemd 可以执行该文件来启动 Docker 服务。systemctl daemon-reload
:这条命令告诉 systemd 重新加载配置文件,以便它能够识别到新的或修改过的服务单元文件。在修改了/etc/systemd/system/docker.service
文件后,需要运行这个命令来使 systemd 生效。systemctl enable docker.service
:这条命令将 Docker 服务设置为开机启动。它会在系统启动时自动启动 Docker 服务。systemctl start docker
:这条命令启动 Docker 服务。它会立即启动 Docker 守护进程,并使其开始运行容器。
通过执行这些命令,你设置了 Docker 服务的可执行权限,重新加载了 systemd 的配置,将 Docker 服务设置为开机启动,并启动了 Docker 服务。这样,你就可以开始使用 Docker 来管理和运行容器了。
/usr/local/bin/ 和 /usr/bin 区别
/usr/local/bin
和/usr/bin
是Linux系统中存放可执行文件的两个常见目录。它们之间的区别如下:
/usr/local/bin
:这个目录用于存放本地安装的软件的可执行文件。当您手动从源代码编译并安装软件时,通常会将其安装到/usr/local
目录下。/usr/local/bin
是/usr/local
目录中的一个子目录,用于存放这些软件的可执行文件。这样做的好处是,它使得本地安装的软件与系统默认软件分开,避免了对系统软件的干扰。例如,如果您安装了一个自定义版本的某个软件,它的可执行文件可能会放在/usr/local/bin
目录下。/usr/bin
:这个目录是系统默认的可执行文件目录。大多数Linux发行版会将系统自带的软件的可执行文件放在这个目录下。当您安装新的软件包时,它的可执行文件通常会被放在/usr/bin
目录下,以便所有用户都可以访问和使用这些软件。
总结起来,/usr/local/bin
目录用于存放本地安装的软件的可执行文件,而/usr/bin
目录用于存放系统默认的软件的可执行文件。
- 在随便一个目录下,都可以执行以上文件夹里面的可执行文件吗?
不是所有目录下都可以执行/usr/local/bin
和/usr/bin
中的可执行文件。执行一个可执行文件的前提是该文件所在的目录在系统的PATH
环境变量中。
PATH
环境变量是一个包含多个目录路径的列表,系统会按照列表中的顺序搜索这些目录来查找可执行文件。当您在命令行中输入一个命令时,系统会按照PATH
环境变量中的顺序在这些目录中查找对应的可执行文件。
通常情况下,/usr/local/bin
和/usr/bin
都会被包含在PATH
环境变量中,因此您可以在终端中从任意目录执行这些目录中的可执行文件。但是,如果您的PATH
环境变量没有包含这些目录,或者被其他目录覆盖了,那么您就无法直接执行这些可执行文件。
您可以通过在终端中运行echo $PATH
命令来查看当前的PATH
环境变量的值。如果需要在其他目录中执行/usr/local/bin
和/usr/bin
中的可执行文件,可以使用完整的文件路径来运行这些文件,例如/usr/local/bin/executable
或/usr/bin/executable