This document provides instructions on how to install Docker Compose and use it to define and run a multi-container Docker application with WordPress and MySQL. It shows downloading and installing Docker Compose, defining the WordPress and MySQL services in a docker-compose.yml file, building a WordPress container image from the Dockerfile, and using Compose to start the containers and link them together.
Running High Performance and Fault Tolerant Elasticsearch Clusters on DockerSematext Group, Inc.
Sematext engineer Rafal Kuc (@kucrafal) walks through the details of running high-performance, fault tolerant Elasticsearch clusters on Docker. Topics include: Containers vs. Virtual Machines, running the official Elasticsearch container, container constraints, good network practices, dealing with storage, data-only Docker volumes, scaling, time-based data, multiple tiers and tenants, indexing with and without routing, querying with and without routing, routing vs. no routing, and monitoring. Talk was delivered at DevOps Days Warsaw 2015.
kubernetes install and practice
* Environment (bare metal installation, not using cloud service)
- VM 1 : Mater node, 30GB, 2 vCPU, 4GB Mem
- VM 2 : Worker node, 30GB, 2 vCPU, 4GB Mem
* Practice
- deploying pod, make a deployment and service
- expose service using ingress(nginx-ingress)
Running High Performance and Fault Tolerant Elasticsearch Clusters on DockerSematext Group, Inc.
Sematext engineer Rafal Kuc (@kucrafal) walks through the details of running high-performance, fault tolerant Elasticsearch clusters on Docker. Topics include: Containers vs. Virtual Machines, running the official Elasticsearch container, container constraints, good network practices, dealing with storage, data-only Docker volumes, scaling, time-based data, multiple tiers and tenants, indexing with and without routing, querying with and without routing, routing vs. no routing, and monitoring. Talk was delivered at DevOps Days Warsaw 2015.
kubernetes install and practice
* Environment (bare metal installation, not using cloud service)
- VM 1 : Mater node, 30GB, 2 vCPU, 4GB Mem
- VM 2 : Worker node, 30GB, 2 vCPU, 4GB Mem
* Practice
- deploying pod, make a deployment and service
- expose service using ingress(nginx-ingress)
Deploying Windows Containers on Windows Server 2016Ben Hall
Introduction into the new Windows Containers and Windows Hyper-V Containers coming in Windows Server 2016.
Presented at WinOps Meetup #5 on Wednesday 20th April 2016. http://www.meetup.com/WinOps/events/229065341/
It's presentation for technet 2015 in korea.
I changed the format to pptx,
목차는 아래와 같습니다.
Openstack 인프라 구축 (4 node 구성) [ 30분]
Openstack 위에 VM 생성 [ 20분 ]
docker 구축 기초 [ 30분]
오픈스택에 docker를 연결 [ 30분]
Docker로 WEB서비스 구축 [ 15분]
Openstack 위에 Docker로 WEB서비스 구축 [ 15분]
Docker로 jenkins 구현 [30분]
Deploying applications to Windows Server 2016 and Windows ContainersBen Hall
Deploying applications to Windows Server 2016 and Windows Containers.
Delivered at NDC London 2017 on 20th January.
Sponsored by Katacoda.com, interactive learning platform for Docker and Cloud Native platforms.
Overview of Docker 1.11 features(Covers Docker release summary till 1.11, runc/containerd, dns load balancing ipv6 service discovery, labels, macvlan/ipvlan)
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, DockerDocker, Inc.
Join SwarmKit maintainers Drew and Nishant as they showcase features that have made Swarm Mode even more powerful, without compromising the operational simplicity it was designed with. They will discuss the implementation of new features that streamline deployments, increase security, and reduce downtime. These substantial additions to Swarm Mode are completely transparent and straightforward to use, and users may not realize they're already benefiting from these improvements under the hood.
Ansible overview, architecture and concepts.
What is deploy? And how to deploying Symfony2 app with Ansible.
Thanks for http://www.slideshare.net/ramondelafuente/ansible-projectdeploy/.
Deploying Windows Containers on Windows Server 2016Ben Hall
Introduction into the new Windows Containers and Windows Hyper-V Containers coming in Windows Server 2016.
Presented at WinOps Meetup #5 on Wednesday 20th April 2016. http://www.meetup.com/WinOps/events/229065341/
It's presentation for technet 2015 in korea.
I changed the format to pptx,
목차는 아래와 같습니다.
Openstack 인프라 구축 (4 node 구성) [ 30분]
Openstack 위에 VM 생성 [ 20분 ]
docker 구축 기초 [ 30분]
오픈스택에 docker를 연결 [ 30분]
Docker로 WEB서비스 구축 [ 15분]
Openstack 위에 Docker로 WEB서비스 구축 [ 15분]
Docker로 jenkins 구현 [30분]
Deploying applications to Windows Server 2016 and Windows ContainersBen Hall
Deploying applications to Windows Server 2016 and Windows Containers.
Delivered at NDC London 2017 on 20th January.
Sponsored by Katacoda.com, interactive learning platform for Docker and Cloud Native platforms.
Overview of Docker 1.11 features(Covers Docker release summary till 1.11, runc/containerd, dns load balancing ipv6 service discovery, labels, macvlan/ipvlan)
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, DockerDocker, Inc.
Join SwarmKit maintainers Drew and Nishant as they showcase features that have made Swarm Mode even more powerful, without compromising the operational simplicity it was designed with. They will discuss the implementation of new features that streamline deployments, increase security, and reduce downtime. These substantial additions to Swarm Mode are completely transparent and straightforward to use, and users may not realize they're already benefiting from these improvements under the hood.
Ansible overview, architecture and concepts.
What is deploy? And how to deploying Symfony2 app with Ansible.
Thanks for http://www.slideshare.net/ramondelafuente/ansible-projectdeploy/.
Docker Practice for beginner.
- docker install on ubuntu 18.04 LTS
- docker pull/push
- making docker-compose file which serving spring-boot+ mySql application
This presentation session will go through the basics of Docker and illustrate its importance in modern DevOps. It will also go through a step-by-step demo of setting up a Docker image for the LAMP stack (Linux, Apache, MySQL, PHP) together with a working sample application.
Slides & codes: http://bit.ly/thomasdocker
Wordpress y Docker, de desarrollo a produccionSysdig
Docker esta revolucionando cómo desplegamos nuestras aplicaciones. Desde el entorno de desarrollo hasta la puesta en producción.
Veremos las ventajas que nos aporta Docker para el desarrollo en WordPress, las herramientas y procesos desde el punto de vista de un desarrollador.
A la hora de mover nuestra aplicación WordPress a producción, presentaremos los retos que presenta y las ventajas que aportan herramientas de orquestación como Kubernetes.
Tanto si eres un desarrollador como si también tienes que gestionar los sistemas que alojan tu WordPress, saldrás de esta charla queriendo poner todos tus WordPress en contenedores.
Docker Essentials Workshop— Innovation Labs July 2020CloudHero
This presentation was the foundation of our Docker Essentials workshop hosted by CloudHero CEO & founder Andrei Manea for the Innovation Labs team on the 23rd of July 2020.
This presentation covers the following topics:
-Getting started with containers
-A bit of history about orchestration
-Introduction to services (what they are, how to create and scale them).
To find out more about this topic, check https://cloudhero.io/
Docker has created enormous buzz in the last few years. Docker is a open-source software containerization platform. It provides an ability to package software into standardised units on Docker for software development. In this hands-on introductory session, I introduce the concept of containers, provide an overview of Docker, and take the participants through the steps for installing Docker. The main session involves using Docker CLI (Command Line Interface) - all the concepts such as images, managing containers, and getting useful work done is illustrated step-by-step by running commands.
Preparation study for Docker Event
Mulodo Open Study Group (MOSG) @Ho chi minh, Vietnam
http://www.meetup.com/Open-Study-Group-Saigon/events/229781420/
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Why React Native as a Strategic Advantage for Startup Innovation.pdfayushiqss
Do you know that React Native is being increasingly adopted by startups as well as big companies in the mobile app development industry? Big names like Facebook, Instagram, and Pinterest have already integrated this robust open-source framework.
In fact, according to a report by Statista, the number of React Native developers has been steadily increasing over the years, reaching an estimated 1.9 million by the end of 2024. This means that the demand for this framework in the job market has been growing making it a valuable skill.
But what makes React Native so popular for mobile application development? It offers excellent cross-platform capabilities among other benefits. This way, with React Native, developers can write code once and run it on both iOS and Android devices thus saving time and resources leading to shorter development cycles hence faster time-to-market for your app.
Let’s take the example of a startup, which wanted to release their app on both iOS and Android at once. Through the use of React Native they managed to create an app and bring it into the market within a very short period. This helped them gain an advantage over their competitors because they had access to a large user base who were able to generate revenue quickly for them.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
Your Digital Assistant.
Making complex approach simple. Straightforward process saves time. No more waiting to connect with people that matter to you. Safety first is not a cliché - Securely protect information in cloud storage to prevent any third party from accessing data.
Would you rather make your visitors feel burdened by making them wait? Or choose VizMan for a stress-free experience? VizMan is an automated visitor management system that works for any industries not limited to factories, societies, government institutes, and warehouses. A new age contactless way of logging information of visitors, employees, packages, and vehicles. VizMan is a digital logbook so it deters unnecessary use of paper or space since there is no requirement of bundles of registers that is left to collect dust in a corner of a room. Visitor’s essential details, helps in scheduling meetings for visitors and employees, and assists in supervising the attendance of the employees. With VizMan, visitors don’t need to wait for hours in long queues. VizMan handles visitors with the value they deserve because we know time is important to you.
Feasible Features
One Subscription, Four Modules – Admin, Employee, Receptionist, and Gatekeeper ensures confidentiality and prevents data from being manipulated
User Friendly – can be easily used on Android, iOS, and Web Interface
Multiple Accessibility – Log in through any device from any place at any time
One app for all industries – a Visitor Management System that works for any organisation.
Stress-free Sign-up
Visitor is registered and checked-in by the Receptionist
Host gets a notification, where they opt to Approve the meeting
Host notifies the Receptionist of the end of the meeting
Visitor is checked-out by the Receptionist
Host enters notes and remarks of the meeting
Customizable Components
Scheduling Meetings – Host can invite visitors for meetings and also approve, reject and reschedule meetings
Single/Bulk invites – Invitations can be sent individually to a visitor or collectively to many visitors
VIP Visitors – Additional security of data for VIP visitors to avoid misuse of information
Courier Management – Keeps a check on deliveries like commodities being delivered in and out of establishments
Alerts & Notifications – Get notified on SMS, email, and application
Parking Management – Manage availability of parking space
Individual log-in – Every user has their own log-in id
Visitor/Meeting Analytics – Evaluate notes and remarks of the meeting stored in the system
Visitor Management System is a secure and user friendly database manager that records, filters, tracks the visitors to your organization.
"Secure Your Premises with VizMan (VMS) – Get It Now"
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
3. 3
yum install docker-registry
Create private Docker registries
Docker local registry 만들기
[root@docker187 ~]# systemctl status docker.service
[root@docker187 ~]# systemctl -l status docker-registry
[root@docker187 ~]# docker login
Username (oscinfra):
WARNING: login credentials saved in /root/.dockercfg.
Login Succeeded
https://registry.hub.docker.com/repos/ [root@docker187 ~]# netstat -ntpl | grep 5000
tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN 729/python
firewall-cmd --zone=public --list-services
firewall-cmd --zone=public --list-ports
firewall-cmd --permanent --zone=public --add-
service=https
firewall-cmd --permanent --zone=public --add-
port=5000/tcp
firewall-cmd --zone=public --add-port=5000/tcp
firewall-cmd –reload
[root@docker187 ~]# nmap localhost
PORT STATE SERVICE
5000/tcp open upnp
4. 4
yum install docker-registry
Create private Docker registries
Root image 가지고 오기
[root@docker188 ~]# docker pull mysql:latest
latest: Pulling from docker.io/mysql
[root@docker188 ~]# docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=qwerqwer -d mysql
d10d4821e9b96f7f1f5065351f83e014f2799bf8b4febc9da6d3573d12f8aa4e
[root@docker188 ~]# docker run --name wordpress-instance --link some-mysql:mysql -p 8000:80 -d wordpress
edb109fc4ba635f77f9e506b786b3b5529f8d6b7fd6a12ab4adb53116907d02e
[root@docker188 ~]# nmap localhost
5000/tcp open upnp
8080/tcp open http-proxy
출처 : http://www.infosiftr.com/2014/11/13/docker-tutorial-wordpress/
5. 5
yum install docker-registry
Create private Docker registries
Install 후 commit작업 실시
출처 : http://www.infosiftr.com/2014/11/13/docker-tutorial-wordpress/
6. 6
yum install docker-registry
Create private Docker registries
Install 후 commit작업 실시
[root@docker188 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
edb109fc4ba6 wordpress:latest "/entrypoint.sh apac 11 minutes ago Up 11 minutes 0.0.0.0:8080->80/tcp wordpress-instance
d10d4821e9b9 mysql:latest "/entrypoint.sh mysq 13 minutes ago Up 13 minutes 3306/tcp some-mysql
[root@docker188 ~]# docker commit edb109fc4ba6 osc_wordpress
9655c5be2aa9013d72dc4908d38149e9938b03f32039f1bb89fe226ee9478a11
[root@docker188 ~]# docker commit d10d4821e9b9 osc_mysql
d1341c6a3b5860cbb55d08e96e239224786e4c3767294e2d13705609a183f353
[root@docker188 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
osc_mysql latest d1341c6a3b58 About a minute ago 282.9 MB
osc_wordpress latest 9655c5be2aa9 About a minute ago 511.5 MB
docker.io/wordpress latest 2bed879f48b4 44 hours ago 511.5 MB
docker.io/mysql latest ff78d9bb5f46 3 days ago 282.9 MB
[root@docker188 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
edb109fc4ba6 wordpress:latest "/entrypoint.sh apac 14 minutes ago Exited (0) 36 seconds ago wordpress-instance
d10d4821e9b9 mysql:latest "/entrypoint.sh mysq 16 minutes ago Exited (0) 34 seconds ago some-mysql
7. 7
yum install docker-registry
Create private Docker registries
Install 후 commit작업 실시
[root@docker188 ~]# docker stop `docker ps -qa`
[root@docker188 ~]# docker run --name osc_mysql -e MYSQL_ROOT_PASSWORD='qwerqwer' -d osc_mysql
d15491be7bc85bf764f1a2bb2c2b9d7c00e76e1eae476ee572ff52bc609daa68
[root@docker188 ~]# docker run --name osc_wordpress2 --link osc_mysql:mysql -p 8090:80 -d osc_wordpress
12dceb757464a858326658a8c8d26b45d5efa7631d47c7b33ac0bcc14d8bced6
[root@docker188 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
12dceb757464 osc_wordpress:latest "/entrypoint.sh apac 11 seconds ago Up 10 seconds 0.0.0.0:8080->80/tcp osc_wordpress2
d15491be7bc8 osc_mysql:latest "/entrypoint.sh mysq About a minute ago Up About a minute 3306/tcp osc_mysql
edb109fc4ba6 wordpress:latest "/entrypoint.sh apac 17 minutes ago Exited (0) 3 minutes ago wordpress-instance
d10d4821e9b9 mysql:latest "/entrypoint.sh mysq 19 minutes ago Exited (0) 3 minutes ago some-mysql
8. 8
yum install docker-registry
Create private Docker registries
Commit후 private Docker registry에 등록 후 파일 전송
[root@docker188 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
osc_mysql latest 967e48b02b99 2 hours ago 282.9 MB
osc_wordpress latest d590073094fd 2 hours ago 511.5 MB
docker.io/wordpress latest 2bed879f48b4 2 days ago 511.5 MB
docker.io/mysql latest ff78d9bb5f46 3 days ago 282.9 MB
[root@docker188 ~]# docker tag osc_mysql:latest localhost:5000/osc/osc_mysql
[root@docker188 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
osc_mysql latest 967e48b02b99 2 hours ago 282.9 MB
localhost:5000/osc/osc_mysql latest 967e48b02b99 2 hours ago 282.9 MB
osc_wordpress latest d590073094fd 2 hours ago 511.5 MB
docker.io/wordpress latest 2bed879f48b4 2 days ago 511.5 MB
docker.io/mysql latest ff78d9bb5f46 3 days ago 282.9 MB
[root@docker188 ~]# docker push localhost:5000/osc/osc_mysql
The push refers to a repository [localhost:5000/osc/osc_mysql] (len: 1)
Sending image list
967e48b02b99: Image successfully pushed
Pushing tag for rev [967e48b02b99] on {http://localhost:5000/v1/repositories/osc/osc_mysql/tags/latest}
9. 9
yum install docker-registry
Create private Docker registries
Commit후 private Docker registry에 등록 후 파일 전송
[root@docker188 ~]# docker tag osc_wordpress localhost:5000/osc/osc_wordpress
[root@docker188 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
localhost:5000/osc/osc_mysql latest 967e48b02b99 3 hours ago 282.9 MB
osc_mysql latest 967e48b02b99 3 hours ago 282.9 MB
localhost:5000/osc/osc_wordpress latest d590073094fd 3 hours ago 511.5 MB
osc_wordpress latest d590073094fd 3 hours ago 511.5 MB
docker.io/wordpress latest 2bed879f48b4 2 days ago 511.5 MB
docker.io/mysql latest ff78d9bb5f46 3 days ago 282.9 MB
[root@docker188 ~]# docker push localhost:5000/osc/osc_wordpress
The push refers to a repository [localhost:5000/osc/osc_wordpress] (len: 1)
Sending image list
Pushing repository localhost:5000/osc/osc_wordpress (1 tags)
d590073094fd: Image successfully pushed
Pushing tag for rev [d590073094fd] on {http://localhost:5000/v1/repositories/osc/osc_wordpress/tags/latest}
13. 13
Docker compose
Build by docker file
실행
[root@docker188 wordpress]# docker build -t
oscinfra_web .
Sending build context to Docker daemon 19.79 MB
Sending build context to Docker daemon
Step 0 : FROM orchardup/php5
Trying to pull repository docker.io/orchardup/php5 ...
7113324d9d9e: Download complete
511136ea3c5a: Download complete
e2aa6665d371: Download complete
f0ee64c4df74: Download complete
2209cbf9dcd3: Download complete
5e019ab7bf6d: Download complete
Status: Downloaded newer image for
docker.io/orchardup/php5:latest
---> 7113324d9d9e
Step 1 : ADD . /code
---> 4ea4c8b5cb7f
Removing intermediate container 5ab560447a8b
Successfully built 4ea4c8b5cb7f
[root@docker188 wordpress]# docker images
REPOSITORY TAG
IMAGE ID CREATED VIRTUAL SIZE
oscinfra_web latest
4ea4c8b5cb7f 10 seconds ago 348.9 MB
[root@docker01 wordpress]# docker-compose up
Creating wordpress_db_1...
Pulling image orchardup/mysql:latest...
Pulling repository orchardup/mysql
061b756f7e0d: Download complete
Status: Downloaded newer image for
orchardup/mysql:latest
Creating wordpress_web_1...
Building web...
Step 0 : FROM orchardup/php5
---> 7113324d9d9e
..
db_1 | 150301 14:54:42 InnoDB: highest
supported file format is Barracuda.
db_1 | 150301 14:54:42 InnoDB: Waiting for
the background threads to start
db_1 | 150301 14:54:43 InnoDB: 5.5.38 started;
log sequence number 1595675
db_1 | 150301 14:54:43 [Note] Server hostname
(bind-address): '0.0.0.0'; port: 3306
db_1 | 150301 14:54:43 [Note] - '0.0.0.0'
resolves to '0.0.0.0';
db_1 | 150301 14:54:43 [Note] Server socket
created on IP: '0.0.0.0'.
14. 14
Docker compose
Docker registry & start by docker-compose
실행
[root@docker188 wordpress]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
oscinfra_web latest 4ea4c8b5cb7f 2 minutes ago 348.9 MB
osc_mysql latest 967e48b02b99 3 hours ago 282.9 MB
localhost:5000/osc/osc_mysql latest 967e48b02b99 3 hours ago 282.9 MB
osc_wordpress latest d590073094fd 3 hours ago 511.5 MB
localhost:5000/osc/osc_wordpress latest d590073094fd 3 hours ago 511.5 MB
docker.io/wordpress latest 2bed879f48b4 2 days ago 511.5 MB
docker.io/mysql latest ff78d9bb5f46 4 days ago 282.9 MB
docker.io/orchardup/php5 latest 7113324d9d9e 12 months ago 330.1 MB
[root@docker188 wordpress]# docker tag oscinfra_web localhost:5000/oscweb/oscinfra_web
[root@docker188 wordpress]# docker push localhost:5000/oscweb/oscinfra_web
The push refers to a repository [localhost:5000/oscweb/oscinfra_web] (len: 1)
Sending image list
Pushing repository localhost:5000/oscweb/oscinfra_web (1 tags)
511136ea3c5a: Image successfully pushed
e2aa6665d371: Image successfully pushed
f0ee64c4df74: Image successfully pushed
2209cbf9dcd3: Image successfully pushed
5e019ab7bf6d: Image successfully pushed
7113324d9d9e: Image successfully pushed
4ea4c8b5cb7f: Image successfully pushed
Pushing tag for rev [4ea4c8b5cb7f] on {http://localhost:5000/v1/repositories/oscweb/oscinfra_web/tags/latest}
15. 15
Docker compose
Docker registry & start by docker-compose
실행
[root@docker188 wordpress]# docker-compose up
Creating wordpress_db_1...
Pulling image orchardup/mysql:latest...
ab3b99429ab1: Download complete
ab3b99429ab1: Pulling image (latest) from docker.io/orchardup/mysql
Status: Downloaded newer image for docker.io/orchardup/mysql:latest
Creating wordpress_web_1...
Building web...
Step 0 : FROM orchardup/php5
---> 7113324d9d9e
Step 1 : ADD . /code
---> 64a9cfc3a30a
Removing intermediate container 4c5bf7fbd928
Successfully built 64a9cfc3a30a
Attaching to wordpress_db_1, wordpress_web_1
……
db_1 | 150529 6:06:55 InnoDB: Waiting for the background threads to start
db_1 | 150529 6:06:56 InnoDB: 5.5.38 started; log sequence number 1595675
db_1 | 150529 6:06:56 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
db_1 | 150529 6:06:56 [Note] - '0.0.0.0' resolves to '0.0.0.0';
db_1 | 150529 6:06:56 [Note] Server socket created on IP: '0.0.0.0'.
db_1 | 150529 6:06:56 [Note] Event Scheduler: Loaded 0 events
db_1 | 150529 6:06:56 [Note] /usr/sbin/mysqld: ready for connections.
db_1 | Version: '5.5.38-0ubuntu0.12.04.1-log' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)
16. 16
Docker compose
Docker registry & start by docker-compose
실행
[root@docker188 ~]# docker commit -m "0528_status" -a "support@osci.kr" 0358aa2a848f wordpress_web_1_0528
Cd34d5a8b091dcf5b95f3eba1d702f55f591698d15d67b26762c0314b198db31
[root@docker188 ~]# docker commit -m "0528_status" -a "support@osci.kr" 2d20222e6afb mysql_1_0528
5c3f4110a1864995bd5c90287f0e8ccc5453b3cd5600ae532ab5ca322cf217d1
[root@docker188 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
mysql_1_0528 latest 5c3f4110a186 20 seconds ago 292.3 MB
wordpress_web_1_0528 latest cd34d5a8b091 2 minutes ago 348.9 MB
wordpress_web latest 64a9cfc3a30a 18 minutes ago 348.9 MB
oscinfra_web latest 4ea4c8b5cb7f 25 minutes ago 348.9 MB
localhost:5000/oscweb/oscinfra_web latest 4ea4c8b5cb7f 25 minutes ago 348.9 MB
localhost:5000/osc/osc_mysql latest 967e48b02b99 4 hours ago 282.9 MB
osc_mysql latest 967e48b02b99 4 hours ago 282.9 MB
osc_wordpress latest d590073094fd 4 hours ago 511.5 MB
localhost:5000/osc/osc_wordpress latest d590073094fd 4 hours ago 511.5 MB
docker.io/wordpress latest 2bed879f48b4 2 days ago 511.5 MB
docker.io/mysql latest ff78d9bb5f46 4 days ago 282.9 MB
docker.io/orchardup/mysql latest ab3b99429ab1 9 months ago 292.3 MB
docker.io/orchardup/php5 latest 7113324d9d9e 12 months ago 330.1 MB
17. 17
Docker Swarm
소개
Docker Native Clustering System
클러스터 / 컨테이너 / 이미지를 컨트롤
클러스터 그룹에서 비교적 쉬운 WorkLoad 제어
Docker API 지원
Swarm은 매니저 Docker Node는 클러스터의 노드
특별히 필요로 하는 인프라 조건은 없음
18. 18
Docker Swarm
Swarm Host Install (Swarm Host에서 실행)
# yum install mercurial golang git
# mkdir ~/gocode; export GOPATH=~/gocode
# cd ~/gocode
# go get -u github.com/docker/swarm
Swarm Install Test
# ~/gocode/bin/swarm –help
19. 19
Docker Swarm
Docker Node Install (Docker Node에서 실행)
# yum install docker
# vi /etc/sysconfig/docker 파일의 OPTIONS 항목에 -H 0.0.0.0:<포트>를 추가
# systemctl restart docker
/etc/sysconfig/docker 의 옵션
20. 20
Docker Swarm
Setup Swarm Host (Swarm Host에서 실행)
# ~/gocode/bin/swarm create
(Swarm Cluster 를 생성합니다. 생성되는 ID는 따로 잘 보관하여야 합니다)
# ~/gocode/bin/swarm join --addr=<ip-of-node>:2375 token://<swarm_id>
(IP가 한번만 나타나면 바로 Ctrl + C 를 입력하여 취소하여도 상관없습니다)
# ~/gocode/bin/swarm list token://<swarm_id>
(Swarm에 등록된 노드들의 리스트를 확인합니다.)
# ~/gocode/bin/swarm --debug manage --host=0.0.0.0:2375 token://<swarm_id>
(Swarm Manager 시작)
Swarm Manager를 실행하는 도중 Duplicate Error 발생시는 /etc/docker/key.json 파일 or ~/.docker/key.json
파일을 삭제한 후 데몬을 재시작합니다.
클러스터 ID
클러스터에 참가되어 있는 Node
21. 21
Docker Swarm
Docker 컨테이너 실행 (아무 노드에서나 수행)
1번Host에서 ubuntu bash 쉘 수행
2번Host에 컨테이너 기동
1번Host에 컨테이너 파일 없음
2번Host에 컨테이너 파일 확인
22. 22
Docker Swarm
[root@Docker-Host2 ~]# docker -H 192.168.0.154:6644 run -d -t -i centos /bin/bash
9fc314043a7f6960a98e1fd594c047b36aa8240da5a3bd341417aff5dcf2f648
[root@Docker-Host2 ~]#
[root@Docker-Host2 ~]#
[root@Docker-Host2 ~]# docker -H 192.168.0.154:6644 run -d -t -i centos /bin/bash
6249d9581761bcd7b33fac05eee3ba62fea93e779558a690c23ebe73a73f0532
[root@Docker-Host2 ~]# docker -H 192.168.0.154:6644 run -d -t -i centos /bin/bash
fdeea5649fccc1ef2786d12d08f38b58f0dc6ad0c45fe11b97385bb8eb4e93d1
[root@Docker-Host2 ~]# docker -H 192.168.0.154:6644 run -d -t -i centos /bin/bash
080a90c0ca8f647455a69e2d0951d802008c5078c091a9940c2dd5267c574358
[root@Docker-Host2 ~]# docker -H 192.168.0.154:6644 run -d -t -i centos /bin/bash
06cf2a484ea6ed893b5af7e1ac1163314bbe6ed8a55f439fe694e9353ba1054b
[root@Docker-Host2 ~]# docker -H 192.168.0.154:6644 run -d -t -i centos /bin/bash
fb0e410202fd552529396418ac13279c68fc08a8e2e701898dcd07e221b4a92c
[root@Docker-Host2 ~]# docker -H 192.168.0.154:6644 run -d -t -i centos /bin/bash
3817a06c550f9350db2bcf349342be8d0fa65010642844c455b725515cc2f694
[root@Docker-Host2 ~]# docker -H 192.168.0.154:6644 run -d -t -i centos /bin/bash
a2d5a13ce9f7e240f96ab06d838fb72b22f5e59664756de215ff9090e3199d25
[root@Docker-Host2 ~]#
Every 2.0s: docker -H 192.168.0.154:6644 ps Fri May 29 00:23:49 2015
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a2d5a13ce9f7 centos:latest "/bin/bash" About a minute ago Up About a minute Docker-Host2/boring_pike
3817a06c550f centos:latest "/bin/bash" About a minute ago Up About a minute Docker-Host1/admiring_bell
fb0e410202fd centos:latest "/bin/bash" About a minute ago Up About a minute Docker-Host2/goofy_yalow
06cf2a484ea6 centos:latest "/bin/bash" 2 minutes ago Up About a minute Docker-Host1/stoic_colden
080a90c0ca8f centos:latest "/bin/bash" 2 minutes ago Up 2 minutes Docker-Host2/determined_hodgkin
fdeea5649fcc centos:latest "/bin/bash" 4 minutes ago Up 4 minutes Docker-Host2/thirsty_davinci
6249d9581761 centos:latest "/bin/bash" 4 minutes ago Up 4 minutes Docker-Host1/grave_mcclintock
9fc314043a7f centos:latest "/bin/bash" 5 minutes ago Up 4 minutes Docker-Host1/happy_shockley
2번Host에서 bash 쉘 수행
1번Host에서 모니터링 결과
23. 23
Docker Swarm
Docker Swarm Architecture
Swarm Docker-Host1
Docker-Host2
Swarm-Cluster
Swarm 중앙 집중식 관리
각 노드의 커맨드는 클러스터를 커져 Swarm을 거쳐 최종 노드에서 수행
클러스터의 전략과 필터를 통하여 컨테이너 수행 제어
Listening / Sending
Port 6644
Sending
Port 6644
Sending
Port 6644
24. 24
Docker Kubernetes
소개
Kubernetes는 여러 호스트에서 컨테이너 응용 프로그램을 관리하는 응용 프로그램의 배포, 유지 보수 및
확장을위한 기본 메커니즘을 제공하는 시스템이다.
Kubernetes 는 single master가 여러 node(minions)를 관리한다.
출처: http://www.cyworld.com/ruo91/8923965
- Etcd
kubernetes의 관련 된 정보를 담고
있는 Key/Value 저장소
Master
- Service proxy
설정한 Pod의 RR(Round Robin)을
담당하는 역할
Minion
- Kubelet
Minion을 제어하는 agent
- pod
Control하는 단위