美文网首页
Linux的安装后步骤

Linux的安装后步骤

作者: 你家旭哥 | 来源:发表于2018-03-09 09:54 被阅读38次

    本节包含配置Linux主机以更好地与Docker配合使用的可选步骤。

    作为非root用户管理Docker

    docker守护进程绑定到Unix套接字而不是TCP端口。默认情况下,Unix套接字由用户root拥有,其他用户只能使用sudo访问它。 docker守护程序始终以root用户身份运行。

    如果您在使用docker命令时不想使用sudo,请创建一个名为docker的Unix组并将用户添加到该组中。当docker守护进程启动时,它将使docker组可读写的Unix套接字的所有权。

    添加一个docker组
    sudo groupadd docker
    讲用户加入docker组
    sudo usermod -aG docker $USER

    注销并重新登录,以便重新评估您的组成员资格。

    如果在虚拟机上进行测试,则可能需要重新启动虚拟机才能使更改生效。

    在桌面Linux环境(如X Windows)上,完全退出会话并重新登录。

    确定一下是否真的已经加入到用户组中,重新登陆后可以不用输入sudo
    $ docker run hello-world
    该命令下载测试图像并将其运行到容器中。当容器运行时,它会打印一条信息消息并退出。

    如果您最初在将用户添加到docker组之前使用sudo运行Docker CLI命令,则可能会看到以下错误,这表明您的〜/ .docker /目录是由于sudo命令而使用不正确的权限创建的。

    WARNING: Error loading config file: /home/user/.docker/config.json -
    stat /home/user/.docker/config.json: permission denied

    要解决此问题,请删除〜/ .docker /目录(它会自动重新创建,但任何自定义设置都会丢失),或使用以下命令更改其所有权和权限:

    $ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
    $ sudo chmod g+rwx "/home/$USER/.docker" -R
    

    配置Docker在启动时启动(很多时候不需要操作)

    大多数当前的Linux发行版(RHEL,CentOS,Fedora,Ubuntu 16.04和更高版本)使用systemd来管理在系统启动时启动哪些服务。 Ubuntu 14.10及以下版本使用upstart。

    systemd
    $ sudo systemctl enable docker
    取消
    $ sudo systemctl disable docker

    如果您需要添加HTTP代理,为Docker运行时文件设置不同的目录或分区,或者进行其他自定义,请参阅自定义您的systemd Docker守护程序选项。

    upstart
    Docker会自动配置为使用upstart在启动时启动。要禁用此行为,请使用以下命令:
    $ echo manual | sudo tee /etc/init/docker.override

    chkconfig
    $ sudo chkconfig docker on

    使用不同的存储引擎

    有关不同存储引擎的信息,请参阅存储驱动程序。默认的存储引擎和受支持的存储引擎列表取决于您的主机的Linux发行版和可用的内核驱动程序。

    配置Docker守护程序侦听连接的位置

    默认情况下,Docker守护程序在UNIX套接字上侦听连接。要使Docker能够接受来自远程主机的请求,您可以将其配置为侦听IP地址和端口。它仍然需要在UNIX套接字上侦听,以接受来自本地客户端的请求。
    将hosts数组设置在/etc/docker/daemon.json中以连接到UNIX套接字和IP地址,如下所示:

    {
    "hosts": ["fd://", "tcp://0.0.0.0:2375"]
    }

    重新启动Docker。通过查找dockerd进程来检查该值是否有用。如果第1步工作,Docker守护进程将显示多个-H标志:
    $ sudo ps aux |grep dockerd

    如果改了还没有成功,是因为在某些Linux发行版(如RHEL和CentOS)中,/etc/docker/daemon.json文件中的主机密钥被docker.service服务配置文件的内容覆盖。在这种情况下,您需要手动编辑此文件。

    sudo systemctl edit docker.service
    添加或修改以下行,替换您自己的值。

    [Service]
    ExecStart=
    ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375
    

    重启
    $ sudo systemctl daemon-reload

    $ sudo systemctl restart docker.service
    更多故障排查 配置请查看官网。

    相关文章

      网友评论

          本文标题:Linux的安装后步骤

          本文链接:https://www.haomeiwen.com/subject/jhfpfftx.html