@@ -358,7 +358,7 @@ func (p *process) initializeIO(rootuid int) (i *IO, err error) {
 | 
			
		||||
	}
 | 
			
		||||
	fds = append(fds, r.Fd(), w.Fd())
 | 
			
		||||
	p.stdio.stderr, i.Stderr = w, r
 | 
			
		||||
	// change ownership of the pipes incase we are in a user namespace
 | 
			
		||||
	// change ownership of the pipes in case we are in a user namespace
 | 
			
		||||
	for _, fd := range fds {
 | 
			
		||||
		if err := syscall.Fchown(int(fd), rootuid, rootuid); err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,7 @@ message CreateContainerRequest {
 | 
			
		||||
 | 
			
		||||
## Attach
 | 
			
		||||
 | 
			
		||||
In order to have attach like functionality for your containers you use the same API request but named pipes or `fifo`s can be used to achieve this type of functionality.
 | 
			
		||||
In order to have attach like functionality for your containers you use the same API request but named pipes or fifos can be used to achieve this type of functionality.
 | 
			
		||||
The default CLI for containerd does this if you specify the `--attach` flag on `create` or `start`.
 | 
			
		||||
It will create fifos for each of the containers stdio which the CLI can read and write to.
 | 
			
		||||
This can be used to create an interactive session with the container, `bash` for example, or to have a blocking way to collect the container's STDIO and forward it to your logging facilities.
 | 
			
		||||
 
 | 
			
		||||
@@ -9,4 +9,4 @@ A user can also populate this directory and provide the checkpoint name on the c
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
As of this point, containerd has no other additions to the bundle.
 | 
			
		||||
Runtime state is currently stored in a tmp filesystem like `/run`.
 | 
			
		||||
Runtime state is currently stored in a tmpfs filesystem like `/run`.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user