{"id":2456,"date":"2017-12-13T10:06:13","date_gmt":"2017-12-13T09:06:13","guid":{"rendered":"http:\/\/www.oradba.ch\/?p=2456"},"modified":"2018-03-28T07:32:09","modified_gmt":"2018-03-28T05:32:09","slug":"oracle-unified-directory-on-docker","status":"publish","type":"post","link":"https:\/\/www.oradba.ch\/wordpress\/2017\/12\/oracle-unified-directory-on-docker\/","title":{"rendered":"Oracle Unified Directory on Docker"},"content":{"rendered":"<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"wp-image-2462 size-medium alignleft\" src=\"https:\/\/i0.wp.com\/www.oradba.ch\/wordpress\/wp-content\/uploads\/OUD_Moby.png?resize=213%2C148&#038;ssl=1\" alt=\"\" width=\"213\" height=\"148\" srcset=\"https:\/\/i0.wp.com\/www.oradba.ch\/wordpress\/wp-content\/uploads\/OUD_Moby.png?resize=300%2C209&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.oradba.ch\/wordpress\/wp-content\/uploads\/OUD_Moby.png?resize=768%2C535&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.oradba.ch\/wordpress\/wp-content\/uploads\/OUD_Moby.png?resize=1024%2C713&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.oradba.ch\/wordpress\/wp-content\/uploads\/OUD_Moby.png?resize=624%2C435&amp;ssl=1 624w, https:\/\/i0.wp.com\/www.oradba.ch\/wordpress\/wp-content\/uploads\/OUD_Moby.png?w=1250&amp;ssl=1 1250w, https:\/\/i0.wp.com\/www.oradba.ch\/wordpress\/wp-content\/uploads\/OUD_Moby.png?w=1875&amp;ssl=1 1875w\" sizes=\"auto, (max-width: 213px) 100vw, 213px\" \/><\/p>\n<p>A bit a while ago I&#8217;ve started to use Docker for miscellaneous purposes. Not really an early adopter, but I still hope I caught the train just in time. \ud83d\ude42 In one of my customer project, I did have to set up a couple of OUD instance to develop and test the transition from Oracle Directory Server Enterprise Edition (ODSEE) to Oracle Unified Directory (OUD). This did include more engineering and troubleshooting work as initially planned. So I eventually got to set up my OUD instances in docker containers rather than in dedicated Virtualbox VM. Unfortunately Oracle does not provide any Docker images or build templates for Oracle Unified Directory. Indeed they do have a bunch of official Docker configurations, images, and examples on GitHub for a couple of Oracle products. But just not for Oracle unified Directory. Ok, there is a issue requesting such a Docker image see Issue <a href=\"http:\/\/url.oradba.ch\/2BgDBct\" target=\"_blank\" rel=\"noopener\">#656<\/a>. Well&#8230; challenge accepted. I did build my own OUD GitHub Repository for OUD Docker deployments.<\/p>\n<p>My GitHub repository <a href=\"http:\/\/url.oradba.ch\/2zJrROB\" target=\"_blank\" rel=\"noopener\">oehrlis\/docker-oud<\/a> does contain the Docker build files to facilitate installation, configuration, and environment setup for Docker DevOps users. The project allows you to create two different types of docker images.<\/p>\n<ul>\n<li><em>Standalone Oracle Unified Directory 12.2.1.3.0<\/em> to setup and run Oracle Unified Directory. This is the smaller image with only the OUD binaries used to set up and run an OUD directory or proxy server. Administration has to be done via <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">dsconfig<\/code>, <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">ldapmodify<\/code> or any other regular LDAP command line or GUI tools.<\/li>\n<li><em>Collocated Oracle Unified Directory 12.2.1.3.0<\/em> and Oracle Fusion Middleware Infrastructure 12.2.1.3.0. A rather big docker image to setup and run an Oracle Unified Directory Server Manager (OUDSM). My intention was to use this docker image primarily for OUDSM. Nevertheless, it can also be used to build an OUD directory or proxy server which is operated in a WLS domain. So in Collocated Mode (Under Same Domain) or Non-Collocated Mode (Under Separate Domains).<\/li>\n<\/ul>\n<p>To setup my Docker OUD images, I&#8217;ve tried to follow a few best practice, rules (Oracle&#8217;s <em><a href=\"http:\/\/url.oradba.ch\/2z6qw3w\">golden rules<\/a><\/em> for contributing to <a href=\"http:\/\/url.oradba.ch\/2AzfOoA\">oracle\/docker-images<\/a>) as well hints by my workmates (<a href=\"http:\/\/url.oradba.ch\/2z6oXma\" target=\"_blank\" rel=\"noopener\">Philipp Salvisberg<\/a> and others).<\/p>\n<ul>\n<li>Always aim to produce the smallest possible image. I did not push this to the maximum and start to remove unused components in the Oracle binaries. Oracle Fusion Middleware Infrastructure is currently outrageous large to only running OUDSM.<\/li>\n<li>Separate persistent data from the image \/ container and put it on a volume. Or at least let the user decide, if he want to put it on a volume or not.<\/li>\n<li>No public distribution of Docker images containing Oracle software. That&#8217;s a legal requirement. My docker build scripts do provide a couple of possibilities to install the software.<\/li>\n<li>Allow flexible configuration via &#8211;build-arg or -e but provide useful default values.<\/li>\n<li>Use Oracle Linux as the base image and install only as much as you need.<\/li>\n<li>And much more&#8230;<\/li>\n<\/ul>\n<h2>Build Docker Images<\/h2>\n<p>The Docker images have to be build manually based on <a href=\"http:\/\/url.oradba.ch\/2zJrROB\" target=\"_blank\" rel=\"noopener\">oehrlis\/docker-oud<\/a> from GitHub. To assist in building the images, you can use the <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">scripts\/buildDockerImage.sh<\/code> script. See below for instructions and usage. The <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">buildDockerImage.sh<\/code> script is just a utility shell script to setup the <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">docker build<\/code> command and is an easy way for beginners to get started. Expert users are welcome to directly call <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">docker build<\/code> with their preferred set of parameters.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">\nUsage of buildDockerImage.sh:\n\nbuildDockerImage.sh [-hv] [-t TYPE] [-o DOCKER_BUILD_OPTION]\n-h Usage (this message)\n-v Enable verbose mode\n-t TYPE OUD image and installation type to build.\nPossible types are:\nOUD : Standalone Oracle Unified Directory Server\nOUDSM : Collocated Oracle Unified Directory Server.\nDefault is type is OUD.\n-o DOCKER_BUILD_OPTION Passes on Docker build option\n\nLogfile : buildDockerImage.log<\/pre>\n<p>Due to license restrictions from Oracle, the Docker images containing Oracle software can not provided on a public Docker repository (see [OTN Developer License Terms](http:\/\/www.oracle.com\/technetwork\/licenses\/standard-license-152015.html)). This is the reason why you have to build the images yourself and downloaded the required software prior image build. Alternatively it is possible to specify MOS credentials in <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">scripts\/.netrc<\/code> or via build arguments. Using MOS download during image build will lead into smaller images, since the software will not be part of an intermediate container.<\/p>\n<h3>Obtaining Product Distributions<\/h3>\n<p>The software can either be downloaded from <a href=\"https:\/\/support.oracle.com\" target=\"_blank\" rel=\"noopener\">My Oracle Support<\/a>, <a href=\"http:\/\/www.oracle.com\/technetwork\/index.html\" target=\"_blank\" rel=\"noopener\">Oracle Technology Network<\/a> (OTN) or <a href=\"http:\/\/edelivery.oracle.com\" target=\"_blank\" rel=\"noopener\">Oracle Software Delivery Cloud<\/a> (OSDC). The following steps will refer to the MOS software download to simplify the build process.<\/p>\n<p>The following software is required for the Oracle Unified Directory Docker image:<\/p>\n<ul>\n<li>Oracle Java Development Kit (JDK) 1.8 (1.8u152) Patch <a href=\"https:\/\/updates.oracle.com\/ARULink\/PatchDetails\/process_form?patch_num=26595894\" target=\"_blank\" rel=\"noopener\">26595894<\/a> for the OUD and OUDSM image<\/li>\n<li>Oracle Unified Directory 12.2.1.3.0 Patch <a href=\"https:\/\/updates.oracle.com\/ARULink\/PatchDetails\/process_form?patch_num=26270957\" target=\"_blank\" rel=\"noopener\">26270957<\/a> for the OUD and OUDSM image<\/li>\n<li>Oracle Fusion Middleware Infrastructure 12.2.1.3.0 Patch <a href=\"https:\/\/updates.oracle.com\/ARULink\/PatchDetails\/process_form?patch_num=26269885\" target=\"_blank\" rel=\"noopener\">26269885<\/a> just for OUDSM image<\/li>\n<\/ul>\n<h3>Manual Download Software<\/h3>\n<p>Simplest method to build the OUD or OUDSM image is to manually download the required software. However this will lead to bigger docker images, since the software is copied during build, which temporary blow up the container file-system. But its more safe because you do not have to store any MOS credentials. If you&#8217;ve enabled Docker experimental features, you could work around this and squash Squash newly built layers with docker build parameter <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">--squash<\/code>.<\/p>\n<p>The corresponding links and checksum can be found in <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">*.download<\/code> files in the <em>software<\/em> folder. Alternatively the direct Oracle Support Download Links:<\/p>\n<ul>\n<li>Oracle Java Server JRE 8 update 152 <a href=\"https:\/\/updates.oracle.com\/Orion\/Services\/download\/p26595894_180152_Linux-x86-64.zip?aru=21611278&amp;patch_file=p26595894_180152_Linux-x86-64.zip\" target=\"_blank\" rel=\"noopener\">p26595894_180152_Linux-x86-64.zip<\/a><\/li>\n<li>Oracle Unified Directory 12.2.1.3.0 <a href=\"https:\/\/updates.oracle.com\/Orion\/Services\/download\/p26270957_122130_Generic.zip?aru=21504981&amp;patch_file=p26270957_122130_Generic.zip\" target=\"_blank\" rel=\"noopener\">p26270957_122130_Generic.zip<\/a><\/li>\n<li>Oracle Fusion Middleware Infrastructure 12.2.1.3.0 <a href=\"https:\/\/updates.oracle.com\/Orion\/Services\/download\/p26269885_122130_Generic.zip?aru=21502041&amp;patch_file=p26269885_122130_Generic.zip\" target=\"_blank\" rel=\"noopener\">p26269885_122130_Generic.zip<\/a><\/li>\n<\/ul>\n<p>Copy all files to the <em>software<\/em> folder.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">\ncp p26595894_180152_Linux-x86-64.zip docker-oud\/software\ncp p26270957_122130_Generic.zip docker-oud\/software\ncp p26269885_122130_Generic.zip docker-oud\/software\n<\/pre>\n<p>Build the docker image either by using <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">docker build<\/code> or <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">buildDockerImage.sh<\/code>.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">\n\ndocker build -t oehrlis\/oud -f Dockerfile.oud .\ndocker build -t oehrlis\/oudsm -f Dockerfile.oudsm .\n\nscripts\/buildDockerImage.sh -v -t OUD\nscripts\/buildDockerImage.sh -v -t OUDSM\n<\/pre>\n<h3>Automatic download with .netrc<\/h3>\n<p>The advantage of an automatic software download during build is the reduced image size. No additional image layers are created for the software and the final docker image is about 3GB smaller. But the setup script&#8217;s <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">setup_oud.sh<\/code>, <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">setup_oud.sh<\/code> and <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">setup_oudsm.sh<\/code> requires MOS credentials to download the software with using <em><a href=\"https:\/\/linux.die.net\/man\/1\/curl\">curl<\/a><\/em>. Curl does read the credentials from the <em>.netrc<\/em> file in <em>scripts<\/em> folder. The <em>.netrc<\/em> file will be copied to <em>\/opt\/docker\/bin\/.netrc<\/em>, but it will be removed at the end of the build.<\/p>\n<p>Create a <em>.netrc<\/em> file with the credentials for <em>login.oracle.com<\/em>.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">echo &quot;machine login.oracle.com login $MOS_USER password $MOS_PASSWORD&quot; &gt;docker-oud\/scripts\/.netrc<\/pre>\n<p>Build the docker image either by using <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">docker build<\/code> or <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">buildDockerImage.sh<\/code>.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">\ndocker build -t oehrlis\/oud -f Dockerfile.oud .\ndocker build -t oehrlis\/oudsm -f Dockerfile.oudsm .\n\nscripts\/buildDockerImage.sh -v -t OUD\nscripts\/buildDockerImage.sh -v -t OUDSM\n<\/pre>\n<p><strong>Although this method has some security issues.<\/strong> The credentials will always remains in the intermediate layer. It is recommended to use a different approach discussed in the new blog post <a href=\"https:\/\/www.oradba.ch\/wordpress\/2018\/03\/smaller-oracle-docker-images\/\">Smaller Oracle Docker images<\/a>.<\/p>\n<h3>Automatic download with Build Arguments<\/h3>\n<p>This method is similar to the automatic download with <em>.netrc<\/em> file. Instead of manually creating a <em>.netrc<\/em> file it will created based on build parameters. Also with this method the <em>.netrc<\/em> file is deleted at the end.<\/p>\n<p>Build the docker image with MOS credentials as arguments using <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">docker build<\/code> or <code class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">buildDockerImage.sh<\/code>.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\">\ndocker build --build-arg MOS_USER=$MOS_USER \\\n--build-arg MOS_PASSWORD=$MOS_PASSWORD \\\n-t oehrlis\/oud -f Dockerfile.oud .\n\nscripts\/buildDockerImage.sh -v -t OUD \\\n\n-o &quot;--build-arg MOS_PASSWORD=$MOS_PASSWORD --build-arg MOS_USER=$MOS_USER&quot;\n<\/pre>\n<p>The time taken to build the OUD or OUDSM image will depend on your internet speed. In any case it shouldn&#8217;t be more than a couple of minutes. <strong>Although this method has as well some security issues.<\/strong> The credentials will always remains in the intermediate layer. It is recommended to use a different approach discussed in the new blog post <a href=\"https:\/\/www.oradba.ch\/wordpress\/2018\/03\/smaller-oracle-docker-images\/\">Smaller Oracle Docker images<\/a>.<\/p>\n<h2>Next Steps<\/h2>\n<p>You are now the happy owner of OUD Docker images with a standalone and \/ or collocated Oracle Directory Server installations. The next step is to start using these Docker images to run your OUD containers and deploy different kind of OUD and OUDSM configurations. I&#8217;ll provide how to build the containers as well some &#8220;behind the seance&#8221; information in my upcoming blog posts about OUD on Docker. Stay tuned.<\/p>\n<h2>Files and References<\/h2>\n<p>Below you find a few references related to Oracle Unified Directory on Docker:<\/p>\n<ul>\n<li>Blog post <a href=\"https:\/\/www.oradba.ch\/wordpress\">www.oradba.ch<\/a> on about <a href=\"https:\/\/www.oradba.ch\/wordpress\/2017\/11\/install-oracle-unified-directory-12c-the-smart-way\/\">Install Oracle Unified Directory 12c the smart way<\/a><\/li>\n<li>Blog post <a href=\"https:\/\/www.oradba.ch\/wordpress\">www.oradba.ch<\/a> on about <a href=\"https:\/\/www.oradba.ch\/wordpress\/2016\/11\/environment-scripts-for-oud\/\">Environment Scripts for OUD<\/a><\/li>\n<li>My Oracle Support Community (MOSC) <a href=\"http:\/\/url.oradba.ch\/2nUgrTR\" target=\"_blank\" rel=\"noopener\">Oracle FMW products certification on Docker<\/a><\/li>\n<li>Github repository for the OUD Docker image build scripts <a href=\"http:\/\/url.oradba.ch\/2zJrROB\" target=\"_blank\" rel=\"noopener\">docker-oud<\/a><\/li>\n<li>Github repository for the OUD environment scripts <a href=\"http:\/\/url.oradba.ch\/2id4K5j\">oudbase<\/a><\/li>\n<li>Oracle Unified Directory 12c PS3 Released [<em><a href=\"http:\/\/url.oradba.ch\/2ytvg3S\" target=\"_blank\" rel=\"noopener\">2300623.1<\/a><\/em>]<\/li>\n<li>OUD 12c &#8211; How to Download and Install OUD 12c in Standalone Mode (with No Domain Configuration) [<em><a href=\"http:\/\/url.oradba.ch\/2A55qnS\" target=\"_blank\" rel=\"noopener\">2298379.1<\/a><\/em>]<\/li>\n<li>OUD 12c: How to Install OUD 12c and OUDSM 12c in Collocated Mode (Under Same Domain) or Non-Collocated Mode (Under Separate Domains) [<em><a href=\"http:\/\/url.oradba.ch\/2ilSWxx\" target=\"_blank\" rel=\"noopener\">2303721.1<\/a><\/em>]<\/li>\n<li>OUD 12c: Understanding the Oracle Unified Directory 12c Installation Directories MW_HOME, PRODUCT_HOME, OUD ORACLE_HOME, DOMAIN_HOME WLS_HOME ORACLE_COMMON Home [<em><a href=\"http:\/\/url.oradba.ch\/2AnsZZj\" target=\"_blank\" rel=\"noopener\">2302813.1<\/a><\/em>]<\/li>\n<li>Information Center: Using Oracle Unified Directory (OUD) [<em><a href=\"http:\/\/url.oradba.ch\/2zylbmN\" target=\"_blank\" rel=\"noopener\">1419823.2<\/a><\/em>]<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>A bit a while ago I&#8217;ve started to use Docker for miscellaneous purposes. Not really an early adopter, but I still hope I caught the train just in time. \ud83d\ude42 In one of my customer project, I did have to set up a couple of OUD instance to develop and test the transition from Oracle [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Oracle Unified Directory on Docker","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[177,142],"tags":[130,111],"class_list":["post-2456","post","type-post","status-publish","format-standard","hentry","category-docker","category-oud","tag-trivadis","tag-tvdsecexpert"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1aErb-DC","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":2674,"url":"https:\/\/www.oradba.ch\/wordpress\/2018\/07\/doag-2018-sig-security-oracle-unified-directory-on-docker\/","url_meta":{"origin":2456,"position":0},"title":"DOAG 2018 SIG Security &#8211; Oracle Unified Directory on Docker","author":"Stefan","date":"4. July 2018","format":false,"excerpt":"A couple of days ago I did had the opportunity to give a presentation on Oracle Unified Directory on Docker at the DOAG SIG Security day in Stuttgart. It was a great opportunity to discuss how OUD engineering can be simplified using Docker. As proof how easy this can be,\u2026","rel":"","context":"In &quot;DOAG&quot;","block_context":{"text":"DOAG","link":"https:\/\/www.oradba.ch\/wordpress\/category\/doag\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.oradba.ch\/wordpress\/wp-content\/uploads\/IMG_1575-300x225.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":2761,"url":"https:\/\/www.oradba.ch\/wordpress\/2018\/08\/oracle-unified-directory-sslhandshakeexception-with-java-1-8-0_181\/","url_meta":{"origin":2456,"position":1},"title":"Oracle Unified Directory SSLHandshakeException with Java 1.8.0_181","author":"Stefan","date":"23. August 2018","format":false,"excerpt":"A couple of days ago I did update my Oracle Unified Directory Docker images with the latest bundle patch for OUD as well the latest java version. With the new Docker images I was about to reproduce a use case from a customer. Everything actually worked at first glance, but\u2026","rel":"","context":"In &quot;Oracle Unified Directory&quot;","block_context":{"text":"Oracle Unified Directory","link":"https:\/\/www.oradba.ch\/wordpress\/category\/oud\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3065,"url":"https:\/\/www.oradba.ch\/wordpress\/2019\/05\/soug-day-2019-oracle-database-in-docker\/","url_meta":{"origin":2456,"position":2},"title":"SOUG Day 2019 &#8211; Oracle Database in Docker","author":"Stefan","date":"22. May 2019","format":false,"excerpt":"Today I did have the opportunity to give a presentation on Oracle Database in Docker at the SOUG day in Olten. It was a great opportunity to discuss how Oracle database engineering can be simplified using Docker. Besides the demo the following topics were discussed: Docker images, container and volumes\u2026","rel":"","context":"In &quot;18c&quot;","block_context":{"text":"18c","link":"https:\/\/www.oradba.ch\/wordpress\/category\/oracle-database\/18c\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.oradba.ch\/wordpress\/wp-content\/uploads\/D7KVdlnXsAAg0aX-300x225.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":2689,"url":"https:\/\/www.oradba.ch\/wordpress\/2019\/02\/doag-red-stack-magazin-oracle-unified-directory-in-docker\/","url_meta":{"origin":2456,"position":3},"title":"DOAG Red Stack Magazin &#8211; Oracle Unified Directory in Docker","author":"Stefan","date":"18. February 2019","format":false,"excerpt":"Mid June I wrote an article for the DOAG Red Stack magazin about my work on Oracle Unified Directory in Docker. Just about the same time I did my DOAG SIG Security presentation on the same topic. In the meantime the article has been published in the latest release of\u2026","rel":"","context":"In &quot;DOAG&quot;","block_context":{"text":"DOAG","link":"https:\/\/www.oradba.ch\/wordpress\/category\/doag\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2525,"url":"https:\/\/www.oradba.ch\/wordpress\/2018\/03\/smaller-oracle-docker-images\/","url_meta":{"origin":2456,"position":4},"title":"Smaller Oracle Docker images","author":"Stefan","date":"28. March 2018","format":false,"excerpt":"One of the important challenges with Docker is to get used to the image layers and the layered file system. It quickly happens that you unintentionally have too much data in an intermediate layer. Either log files, installation software or login credentials. Whereby the first two \"only\" blow up the\u2026","rel":"","context":"In &quot;Docker&quot;","block_context":{"text":"Docker","link":"https:\/\/www.oradba.ch\/wordpress\/category\/docker\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.oradba.ch\/wordpress\/wp-content\/uploads\/Bildschirmfoto-2018-03-28-um-09.07.56-300x178.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":2693,"url":"https:\/\/www.oradba.ch\/wordpress\/2018\/07\/oudbase-environment-scripts-for-oracle-unified-directory-part-1\/","url_meta":{"origin":2456,"position":5},"title":"OUDbase environment scripts for Oracle Unified Directory Part 1","author":"Stefan","date":"16. July 2018","format":false,"excerpt":"Almost two years ago I started writing environment scripts for my Oracle Unified Directory installations. At the beginning there were only 2-3 scripts, from which at some point a small project on GitHub emerged. A lot has changed since my blog post Environment Scripts for OUD. The current version of\u2026","rel":"","context":"In &quot;Oracle Unified Directory&quot;","block_context":{"text":"Oracle Unified Directory","link":"https:\/\/www.oradba.ch\/wordpress\/category\/oud\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.oradba.ch\/wordpress\/wp-content\/uploads\/Screen-Shot-2018-07-16-at-23.43.18-300x95.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.oradba.ch\/wordpress\/wp-content\/uploads\/Screen-Shot-2018-07-16-at-23.43.18-300x95.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.oradba.ch\/wordpress\/wp-content\/uploads\/Screen-Shot-2018-07-16-at-23.43.18-300x95.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/posts\/2456","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/comments?post=2456"}],"version-history":[{"count":10,"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/posts\/2456\/revisions"}],"predecessor-version":[{"id":2527,"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/posts\/2456\/revisions\/2527"}],"wp:attachment":[{"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/media?parent=2456"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/categories?post=2456"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.oradba.ch\/wordpress\/wp-json\/wp\/v2\/tags?post=2456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}