Linux pasos posteriores a la instalación ventana acoplable

Tiempo estimado de lectura: 16 minutos

Esta sección contiene un host Linux configurado para utilizarlo con acoplable con el proceso opcional.

A no root acoplable gestión de usuarios

Acoplable demonio está obligado a conectores Unix en lugar de puerto TCP. Por defecto, conectores Unix propiedad del usuario root, otros usuarios pueden utilizar para acceder a ella sudo. Acoplable demonio siempre ha sido rootejecutarse como un usuario.

Si no desea escribir el prólogo de dockerla orden sudo, crear un archivo llamado dockergrupo de UNIX y añadir usuarios a la misma. Cuando se inicia Docker de demonio, se crea esto puede ser un dockerUnix acceso los miembros del grupo zócalo.

advertencia

El dockergrupo otorga al rootusuario los privilegios equivalentes. Para obtener más información acerca de cómo influir en la seguridad del sistema, véase [* acoplable Daemon superficie de ataque.

precauciones :

Para ejecutar acoplable sin privilegios de root, consulte la ejecución como usuario no root acoplable daemon (modo sin raíces) .

Modo sin raíces está actualmente disponible como una característica experimental.

Para crear un dockergrupo y agregar usuarios, haga lo siguiente:

  1. Crear un dockergrupo.

    $ sudo groupadd docker
  2. Añadir su usuario al dockergrupo.

    $ sudo usermod -aG docker $USER
  3. Cierre la sesión y volver a iniciarla para volver a evaluar su pertenencia al grupo.

    Si el resultado es que en una máquina virtual, puede que tenga que reiniciar la máquina virtual para que los cambios surtan efecto.

    Linux en el entorno de escritorio (tal como X Windows), la cancelación completa de la sesión, a continuación, inicie sesión de nuevo.

    En Linux, puede ejecutar el siguiente comando para activar los cambios en el grupo:

    $ newgrp docker 
  4. Compruebe que puede ejecutar el dockercomando sin mando sudo.

    $ docker run hello-world

    Este comando descarga la imagen de prueba y ejecutarlo en un recipiente. Contenedor se está ejecutando, se imprimirá un mensaje informativo y salida.

    Si se agrega un usuario a dockerun grupo, se avanza el uso de sudolos comandos de la CLI del estibador de ejecución, es posible que aparezca el siguiente error, que se debe a la sudorazón de la orden, lo que indica que su ~/.docker/directorio mediante permisos incorrectos cuando se creó.

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

    Para resolver este problema, elimine el ~/.docker/directorio (se vuelve a crear automáticamente el directorio, pero se perderán todos los ajustes personalizados), o cambiar su propiedad y los permisos utilizando el siguiente comando:

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

Cargador de muelle configurado para iniciarse en el arranque

La mayoría de distribuciones de Linux (RHEL, CentOS, Fedora, Ubuntu 16.04 y posteriores) con el systemdlanzamiento de un sistema de gestión de servicios para arrancar. En Ubuntu 14.10 y anteriores upstart.

systemd

$ sudo systemctl enable docker

Para desactivar este comportamiento, disableen su lugar.

$ sudo systemctl disable docker

Si es necesario agregar proxy HTTP, configurado para ejecutarse archivo acoplable cuando otro directorio o partición, o hacer otras personalizaciones, vea la opción demonio acoplable para personalizar el sistema .

upstart

Cargador de muelle está configurado automáticamente para utilizar la bota upstart. Para desactivar este comportamiento, utilice el siguiente comando:

$ echo manual | sudo tee /etc/init/docker.override

chkconfig

$ sudo chkconfig docker on

El uso de otros motores de almacenamiento

Para obtener información sobre los diferentes motores de almacenamiento, consulte los controladores de almacenamiento . La lista de motores de motor y de almacenamiento de almacenamiento por defecto de las distribuciones de Linux compatibles y se puede utilizar en función del controlador núcleo de la máquina.

Configurar los controladores de registro predeterminados

Acoplable proporciona un recipiente para la recogida de todo se ejecuta en el anfitrión a través de una serie de registro de los conductores y los datos de vista de registro función . controlador de registro predeterminado json-filede datos de registro de escritura en archivo en formato JSON en el sistema de archivos host. Con el tiempo, estos serán ampliar el tamaño de los archivos de registro, que puede conducir al agotamiento de los recursos de disco. Para aliviar estos problemas, controlador de registro alternativo de configuración (por ejemplo Splunk o el registro del sistema), o como la omisión del controlador de configuración del registro de rotación . Si los registros de conductor de recambio de configuración, consulte uso docker logspara leer el controlador de registro de contenedor de registro remoto .

Acoplable dispuesta en una posición conectada a las escuchas daemon

Por defecto, acoplable demonio en un socket UNIX para escuchar las solicitudes de conexión desde el cliente local de recepción. Por acoplable configurado para escuchar en la dirección IP, el puerto y socket UNIX, permitiendo acoplable puede aceptar solicitudes desde el host remoto. Para más detalles sobre esta opción de configuración, consulte " acoplable CLI de referencia" artículo "se acoplable con destino a otro UNIX socket host / puerto o" sección.

clientes acoplable EE

clientes acoplable EE pueden obtener acceso a la CLI remota de paquetes cliente UCP UCP. paquete de software cliente UCP generada por la UCP, mediante la protección TLS mutua. Para obtener más información, por favor refiérase a las UCP CLI de acceso documentos.

Proteja su conexión

Antes del estibador configurado para aceptar conexiones desde un host remoto, es esencial para entender la ventana acoplable abierta a los riesgos de seguridad de red. Si no se toman medidas para proteger la seguridad de la conexión, los usuarios no root remotos pueden tener acceso de root en el host. Para obtener información sobre cómo usar el certificado TLS protege esta conexión más información, consulte la relacionada artículo sobre cómo proteger toma demonio de estibador .

Puede docker.serviceutilizar el uso systemd Linuxd soltar archivos de unidades systemd (por ejemplo, la última versión de RedHat, CentOS, Ubuntu, y el SLES) acoplable configurado para aceptar conexiones remotas, o usar una daemon.jsondistribución Linux de archivos recomendado no utiliza SystemD ser configurados.

systemd vs daemon.json

Cargador de muelle se puede configurar para utilizar systemdlos archivos de la unidad y daemon.jsonla conexión de escucha de archivos puede conducir a un conflicto, lo que impide iniciar estibador.

Para systemdlos archivos de configuración de la unidad para el acceso remoto

  1. Con el fin de usar un editor de texto sudo systemctl edit docker.servicepara abrir el archivo de sustitución docker.service.

  2. Añadir o modificar la línea siguiente para reemplazar sus propios valores.

    [Service]
    ExecStart=
    ExecStart=/usr/bin/dockerd -H fd:// -H tcp://127.0.0.1:2375
  3. Guardar el archivo.

  4. Recargar systemctlconfiguración.

     $ sudo systemctl daemon-reload
  5. Reinicio del estibador.

    $ sudo systemctl restart docker.service
  6. Visualizando el resultado netstatcon el fin de confirmar dockerdsi es o no escucha en la configuración del puerto, para ver si acepta los cambios.

    $ sudo netstat -lntp | grep dockerd
    tcp        0      0 127.0.0.1:2375          0.0.0.0:*               LISTEN      3758/dockerd

Para daemon.jsonconfigurar el acceso remoto

  1. Proporcionada en la hostsmatriz /etc/docker/daemon.jsonpara ser conectadas a enchufes UNIX y direcciones IP, como sigue:

    {
    "hosts": ["unix:///var/run/docker.sock", "tcp://127.0.0.1:2375"]
    }
  2. Reinicio del estibador.

  3. Visualizando el resultado netstatcon el fin de confirmar dockerdsi es o no escucha en la configuración del puerto, para ver si acepta los cambios.

    $ sudo netstat -lntp | grep dockerd
    tcp        0      0 127.0.0.1:2375          0.0.0.0:*               LISTEN      3758/dockerd

Habilitación de IPv6 en acoplable demonio

Para la ventana acoplable Daemon habilita IPv6 , consulte el soporte IPv6 está habilitado .

Solución de problemas

Compatibilidad del kernel

Si la versión del kernel de 3.10 o anterior a la falta de algunos de los módulos, el estibador no funcionan correctamente. Para comprobar la compatibilidad del núcleo, se puede descargar y ejecutar la check-config.shsecuencia de comandos.

$ curl https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh > check-config.sh

$ bash ./check-config.sh

La secuencia de comandos sólo está disponible para Linux, no se aplica a MacOS.

Cannot connect to the Docker daemon

Si aparece un error como el siguiente, su cliente puede acoplable acoplable demonio se ha configurado para conectarse a otros hosts, y el anfitrión puede no ser accesible.

Cannot connect to the Docker daemon. Is 'docker daemon' running on this host?

Para ver el cliente está configurado para conectarse a qué host, compruebe el DOCKER_HOSTvalor de las variables de entorno.

$ env | grep DOCKER_HOST

Si este valor de retorno de comandos, el cliente acoplable para conectarse a acoplable demonio que se ejecuta en el host. Si no se establece, a continuación, el cliente acoplable para conectarse a acoplable demonio que se ejecuta en el host local. Si se establece de forma incorrecta, utilice el siguiente comando para cancelar el ajuste:

$ unset DOCKER_HOST

Es posible que necesite tales como ~/.bashrco ~/.profileeditar sus miembros de archivo de entorno para evitar DOCKER_HOSTerrores de las variables de ajuste.

Si DOCKER_HOSTcomo se espera la configuración, confirman acoplable demonio se está ejecutando en el host remoto, y un firewall o un corte de red no le impide conectar.

problema de reenvío IP

Si utiliza systemd219 o versiones posteriores systemd-networkpara configurar manualmente la red, contenedores acoplables pueden no ser capaces de acceder a su red. Desde la systemdred de la versión 220, a la configuración de desvío dado ( net.ipv4.conf..forwardingpor defecto) es OFF . Esta configuración evita que el reenvío de IP. Esto también es acoplable a net.ipv4.conf.all.forwardingactivar los ajustes en el comportamiento de contenedores en conflicto.

Para resolver este problema en RHEL, CentOS o Fedora, por favor acoplable en su host editar /usr/lib/systemd/network/el archivo <interface>.network(por ejemplo: /usr/lib/systemd/network/80-container-host0.network). A continuación, [Network]agregue la siguiente sección bloque de código.

[Network]
...
IPForward=kernel
# OR
IPForward=true
...

Esta configuración permite el reenvío de IP desde el recipiente como se esperaba.

DNS resolver found in resolv.conf and containers can't use it

Utilizando el sistema de interfaz gráfica de usuario de Linux tiene típicamente una operación de funcionamiento del gestor de la red, el administrador de red mediante una dirección de bucle de retorno (por ejemplo, 127.0.0.1o 127.0.1.1) que se ejecuta en la dnsmasqinstancia a las solicitudes de caché DNS, y añade la entrada a /etc/resolv.confla. El dnsmasqservicio puede acelerar las consultas DNS, sino que también proporciona un servicio DHCP. Esta configuración acoplable tiene su propio espacio de nombres de red no funciona, porque envase acoplable voluntad como 127.0.0.1resolución de la dirección de bucle de retorno tales a sí mismo , y no es posible ejecutar un servidor DNS en la dirección de bucle invertido.

Si acoplable detecta /etc/resolv.confninguna referencia servidor DNS completamente funcional, la siguiente advertencia se emite, y el servidor DNS público acoplable proporcionado por Google ( 8.8.8.8y 8.8.4.4) para la resolución DNS.

WARNING: Local (127.0.0.1) DNS resolver found in resolv.conf and containers
can't use it. Using default external servers : [8.8.8.8 8.8.4.4]

Si usted ve esta advertencia, compruebe en primer lugar si dnsmasq:

$ ps aux |grep dnsmasq

Si el contenedor tiene que resolver un host dentro de la red, el nombre común de las deficiencias del servidor. Tiene dos opciones:

  • Se puede especificar un servidor DNS que se utilizará para estibador, o
  • Se puede desactivar en NetworkManager dnsmasq. Si hace esto, NetworkManager sus servidores de nombres DNS real para agregar /etc/resolv.conf, pero perderá dnsmasqlos beneficios potenciales.

Sólo tiene que utilizar uno de estos métodos.

servidor DNS especificado ventana acoplable

La ubicación predeterminada del archivo de configuración es /etc/docker/daemon.json. Puede --config-filecambiar la ubicación del archivo de configuración del demonio de la bandera. El siguiente documento supone que el archivo de configuración se encuentra /etc/docker/daemon.json.

  1. Crear o editar el archivo de configuración del demonio del estibador, el /etc/docker/daemon.jsonarchivo se utiliza para controlar la configuración del demonio del estibador de archivo predeterminado.

    $ sudo nano /etc/docker/daemon.json
  2. Añadir una o más direcciones IP como el valor de dnsla clave. Si el archivo ha sido contenido, sólo tiene que añadir o editar la dnsfila.

    {
        "dns": ["8.8.8.8", "8.8.4.4"]
    }

    Si el servidor DNS interno no puede resolver las direcciones IP públicas, incluyendo al menos uno que puede resolver el servidor de IP, por lo que se puede conectar al Hub del estibador, mientras que el recipiente de modo que usted puede resolver nombres de dominio de Internet.

    Guardar y cerrar el archivo.

  3. Acoplable reiniciar el demonio.

    $ sudo service docker restart
  4. Al tratar de conseguir un espejo para verificar acoplable puede resolver la dirección IP externa:

    $ docker pull hello-world
  5. Si es necesario, verifique acoplable contenedor de ping puede resolver nombres de host internos.

    $ docker run --rm -it alpine ping -c4 <my_internal_host>
    
    PING google.com (192.168.1.2): 56 data bytes
    64 bytes from 192.168.1.2: seq=0 ttl=41 time=7.597 ms
    64 bytes from 192.168.1.2: seq=1 ttl=41 time=7.635 ms
    64 bytes from 192.168.1.2: seq=2 ttl=41 time=7.660 ms
    64 bytes from 192.168.1.2: seq=3 ttl=41 time=7.677 ms

Desactivar DNSMASQ

的 Ubuntu

Si no desea cambiar el demonio acoplable está configurado para utilizar una dirección IP específica, desactivar NetworkManager usando las instrucciones siguientes dnsmasq.

  1. Editar el /etc/NetworkManager/NetworkManager.confarchivo.

  2. Por dns=dnsmasqadición en primer lugar una línea de #caracteres a comentar la línea.

    # dns=dnsmasq

    Guardar y cerrar el archivo.

  3. Reinicie el NetworkManager y estibador. Tal vez, puede reiniciar el sistema.

    $ sudo restart network-manager
    $ sudo restart docker
RHEL, CentOS o Fedora

En RHEL, CentOS o Fedora discapacitados dnsmasq:

  1. Desactivar dnsmasqServicio:

    $ sudo service dnsmasq stop
    
    $ sudo systemctl disable dnsmasq
  2. Uso de Red Hat documentación a los servidores DNS de configuración manualmente.

API permite el acceso remoto a través del cortafuegos

Si ejecuta una carrera de servidor de seguridad en el mismo host acoplable, con la esperanza de otro control remoto de acceso al host del estibador de API y habilitar el acceso remoto, es necesario configurar el firewall para permitir conexiones entrantes en el puerto del estibador, si está habilitado el cifrado TLS transmisión, el valor predeterminado es 2376de otro modo 2375.

Dos daemon servidor de seguridad común es UFW (no complicada Firewall) (normalmente usado para sistemas Ubuntu) y firewalld (normalmente utilizado para sistemas basados en RPM). Por favor consulte apropiado para su sistema operativo y la documentación del cortafuegos, pero la siguiente información puede ayudarle a empezar. Estas opciones son bastante floja, puede que desee utilizar una configuración diferente a aún más el sistema de bloqueo.

  • UFW : establece la configuración DEFAULT_FORWARD_POLICY="ACCEPT".

  • firewalld : añadir una regla similar al siguiente en su política (una solicitud de entrada y uno para las solicitudes de salida). Asegúrese de que el nombre de la interfaz y el nombre de la cadena correctamente.

    <direct>
      [ <rule ipv="ipv6" table="filter" chain="FORWARD_direct" priority="0"> -i zt0 -j ACCEPT </rule> ]
      [ <rule ipv="ipv6" table="filter" chain="FORWARD_direct" priority="0"> -o zt0 -j ACCEPT </rule> ]
    </direct>

Your kernel does not support cgroup swap limit capabilities

En Ubuntu o Debian host, utilice una imagen, es posible que aparezca un mensaje similar al siguiente.

WARNING: Your kernel does not support swap limit capabilities. Limitation discarded.

Esta advertencia no se produce en el sistema basado en RPM, que permiten a estas características por defecto.

Si no necesita estas características, puede pasar por alto la advertencia. Puede activar estas funciones en Ubuntu o Debian seguir las siguientes instrucciones. Incluso acoplable no se está ejecutando, también pueden causar la memoria y de intercambio de facturación memoria total disponible sobrecarga es aproximadamente 1%, y el rendimiento global se reducirá en un 10%.

  1. Tener sudocomo los privilegios del usuario, ingrese Ubuntu o Debian anfitriones.

  2. Editar el /etc/default/grubarchivo. Editar o añadir GRUB_CMDLINE_LINUXla línea de añadir las siguientes dos pares de valores clave:

    GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"

    Guardar y cerrar el archivo.

  3. Actualización de GRUB.

    $ sudo update-grub

    Si su sintaxis del archivo de configuración de GRUB es incorrecta, se producirá un error. En este caso, repita los pasos 2 y 3.

    Los cambios tendrán efecto después de que el sistema se reinicia.

El siguiente paso

  • Ver introductorias módulos de capacitación para aprender cómo construir una imagen y ejecutarlo como un contenedor de la aplicación.
  • Revisar el uso del desarrollo del estibador tema para saber cómo utilizar la ventana acoplable para construir nuevas aplicaciones.

[Traducido del Pasos posteriores a la instalación para Linux ]

Supongo que te gusta

Origin www.cnblogs.com/Yogile/p/12505461.html
Recomendado
Clasificación