/** * Basic usage examples for @memoh/container */ import { createContainer, useContainer, listContainers } from '../src' async function main() { console.log('๐Ÿš€ Container Management Examples\n') // Example 1: Create and start a container console.log('๐Ÿ“ฆ Example 1: Create and start a container') try { const container = await createContainer({ name: 'example-nginx', image: 'docker.io/library/nginx:alpine', env: { NGINX_HOST: 'localhost', NGINX_PORT: '80', }, labels: { example: 'basic', version: '1.0', }, }) console.log('โœ… Container created:', container.id) console.log(' Status:', container.status) console.log(' Image:', container.image) console.log('') // Start the container const ops = useContainer(container.name) await ops.start() console.log('โœ… Container started\n') // Get container info const info = await ops.info() console.log('๐Ÿ“Š Container info:') console.log(' Name:', info.name) console.log(' Status:', info.status) console.log(' Created:', info.createdAt) console.log('') // Stop and remove await ops.stop(5) console.log('โน๏ธ Container stopped') await ops.remove() console.log('๐Ÿ—‘๏ธ Container removed\n') } catch (error) { console.error('โŒ Error:', error) } // Example 2: List all containers console.log('๐Ÿ“‹ Example 2: List all containers') try { const containers = await listContainers() if (containers.length === 0) { console.log(' No containers found\n') } else { for (const container of containers) { console.log(` - ${container.name}: ${container.status}`) } console.log('') } } catch (error) { console.error('โŒ Error:', error) } // Example 3: Execute commands in container console.log('๐Ÿ”ง Example 3: Execute commands in container') try { const container = await createContainer({ name: 'example-alpine', image: 'docker.io/library/alpine:latest', command: ['sh', '-c', 'while true; do sleep 1; done'], }) const ops = useContainer(container.name) await ops.start() console.log('โœ… Container started') // Execute command const result = await ops.exec(['echo', 'Hello from container!']) console.log('๐Ÿ“ค Command output:', result.stdout) console.log(' Exit code:', result.exitCode) console.log('') // Cleanup await ops.stop(2) await ops.remove() console.log('๐Ÿงน Cleaned up\n') } catch (error) { console.error('โŒ Error:', error) } console.log('โœจ All examples completed!') } // Run examples main().catch(console.error)