Unix domain socket

Unix domain socket

[11] UNIXドメインソケット (UNIX domain socket) は、 多くの UNIX 系システムで実装されている IPC 機構の一種です。


[6] Socket


[1] 様々なアプリケーションプロトコルの下位層として用いられています。

[10] HTTP での利用については、 HTTP接続を参照。



[5] URL scheme として unix: が使われることがあります。

[29] PHP 3+ が実装しています。

[2] Docker basics - Docker Documentation ( 版) <https://docs.docker.com/articles/basics/>

unix://path/to/socket -> Unix socket located at path/to/socket

[3] Docker basics - Docker Documentation ( 版) <https://docs.docker.com/articles/basics/>

$ sudo <path to>/docker -H tcp:// -H unix:///var/run/docker.sock -d &

[17] Infinario/flask-redis-sentinel ( 版) <https://github.com/infinario/flask-redis-sentinel>


[30] FFmpeg Protocols Documentation () <https://ffmpeg.org/ffmpeg-protocols.html#unix>

Unix local socket

The required syntax for a Unix socket URL is:



[13] PHP5以上では Unix domain socket によるデータグラム (UDP 相当) を表すために udg: を使っています。


[20] 実装によっては、ホストunix/ポートファイル名とすることで、 TCP ではなく UNIX domain socket での接続として扱うことがあります。


[7] Connection String URI Format — MongoDB Manual 2.6.7 ( 版) <http://docs.mongodb.org/manual/reference/connection-string/>

The following connects to a UNIX domain socket:


[8] Module ngx_http_proxy_module ( 版) <http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass>

or as a UNIX-domain socket path specified after the word “unix” and enclosed in colons:

proxy_pass http://unix:/tmp/backend.socket:/uri/;

[9] AnyEvent::Socket - search.cpan.org ( 版) <http://search.cpan.org/dist/AnyEvent/lib/AnyEvent/Socket.pm#($service,_$host)_=_AnyEvent::Socket::unpack_sockaddr_$sa>

If the $text is unix/, then this function returns a special token recognised by the other functions in this module to mean "UNIX domain socket".

[12] kennethreitz/dj-database-url ( 版) <https://github.com/kennethreitz/dj-database-url>

With PostgreSQL, you can also use unix domain socket paths with percent encoding: postgres://%2Fvar%2Flib%2Fpostgresql/dbname.

[16] Using Redis — Celery 3.1.18 documentation ( 版) <http://celery.readthedocs.org/en/latest/getting-started/brokers/redis.html>

If a unix socket connection should be used, the URL needs to be in the format:


[18] Issue 376323002: Refactor unix domain socket. - Code Review ( 版) <https://codereview.chromium.org/376323002/>

[19] cURL - How To Use ( ()) <https://curl.haxx.se/docs/manpage.html#--unix-socket>

--unix-socket <path>

(HTTP) Connect through this Unix domain socket, instead of using the network. (Added in 7.40.0)

[21] Connection String URI Format — MongoDB Manual 3.2 () <https://docs.mongodb.com/manual/reference/connection-string/>

The following connects to a UNIX domain socket:


[22] MySQL — SQLAlchemy 0.9 Documentation () <http://docs.sqlalchemy.org/en/rel_0_9/dialects/mysql.html>


[23] java - JDBC MySQL connection using Unix Socket - Stack Overflow () <http://stackoverflow.com/questions/25918416/jdbc-mysql-connection-using-unix-socket>

As another answer pointed out, it's possible (at least in Intellij IDE) to use socket connection for Mysql JDBC Connector/J (I am using version 5.1) without having to provide a socketFactory,


[24] java - JDBC MySQL connection using Unix Socket - Stack Overflow () <http://stackoverflow.com/questions/25918416/jdbc-mysql-connection-using-unix-socket>

The JDBC Driver from the MariaDB project supports Unix domain sockets while remaining compatible with the MySQL Connector/J JDBC driver. Example jdbc url for the MariaDB driver is: jdbc:mariadb://localhost:3306/revmgt?localSocket=/var/run/mysqld/mysqld.sock

[25] The DB-URI — TurboGears 1.0 documentation () <http://turbogears.org/1.0/docs/DbUri.html>


[26] The DB-URI — TurboGears 1.0 documentation () <http://turbogears.org/1.0/docs/DbUri.html>

If your Linux or OS X installation has a standard setup and there’s a live socket at /tmp/.s.PGSQL.5432, your SQLAlchemy PostgreSQL dburi can be this simple:


To specify the socket file for PostgreSQL, put the absolute path after the double slash:


However, there are bugs in the DSN parser for SQLObject, so that it fails to separate the socket path from the database name. A DSN like this works around that issue:


[27] nova.conf - configuration options - OpenStack Configuration Reference  - kilo () <http://docs.openstack.org/kilo/config-reference/content/list-of-compute-config-options.html>

connection_url = None (StrOpt) URL for connection to XenServer/Xen Cloud Platform. A special value of unix://local can be used to connect to the local unix socket. Required if compute_driver=xenapi.XenAPIDriver

[28] Linknx / Wiki / Services_section () <https://sourceforge.net/p/linknx/wiki/Services_section/>

The knxconnection element configures the connection to EIBD. The url parameter can be "local:/path/to/unix/socket" if EIBD uses unix sockets or "ip:ip-address:port" if EIBD uses internet sockets (port is optional; default = 6720)

[31] Compose CLI environment variables | Docker Documentation ( ()) <https://docs.docker.com/compose/reference/envvars/>


Sets the URL of the docker daemon. As with the Docker client, defaults to unix:///var/run/docker.sock.

[32] http+docker://localunixsocket