|
1 | | -# Oracle DNS Server to resolve Oracle RAC IPs |
2 | | - |
3 | | -Sample container build files to facilitate installation, configuration, and environment setup for DevOps users. |
4 | | - |
5 | | -**IMPORTANT:** This image can be used to setup DNS server for RAC. You can skip this step if you already have a DNS server configure and which can be used for Oracle RAC. You should ensure that the DNS server container is up before starting RAC. This image is provided for test purposes only. |
6 | | - |
7 | | -## How to build and run |
8 | | -You need to make sure that you have at least 350MB of space available for the container to create the files for RAC DNS server. |
9 | | - |
10 | | -**IMPORTANT:** If you are behind a proxy, you need to set the `http_proxy or https_proxy` env variable based on your environment before building the image. Please ensure that you have the `podman-docker` package installed on your OL8 Podman host to run the command using the docker utility. |
11 | | -```bash |
12 | | -dnf install podman-docker -y |
13 | | -``` |
14 | | - |
15 | | -The `buildContainerImage.sh` script can assist with building the images. See below for instructions and usage. |
16 | | - |
17 | | -The `buildContainerImage.sh` script is a utility shell script that performs MD5 checks and is an easy way to get started. Users can also use the docker build command to build an image with custom configuration parameters. To run the script, go into the `dockerfiles` folder and run the `buildContainerImage.sh` script: |
18 | | - |
19 | | -```bash |
20 | | -cd <git-cloned-path>/docker-images/OracleDatabase/RAC/OracleDNSServer/dockerfiles |
21 | | -./buildContainerImage.sh-v <Software Version> |
22 | | -./buildContainerImage.sh -v latest |
23 | | -``` |
24 | | -NOTE: To build the DNS server image, pass the version latest to `buildContainerImage.sh`. The RAC DNS server image is not tied to any release of the RAC release, you can use `latest` version to build the image. |
25 | | - |
26 | | -For detailed usage instructions, please execute the following command: |
27 | | - |
28 | | -```bash |
29 | | -./buildContainerImage.sh -h |
30 | | -``` |
31 | | - |
32 | | -## Create bridge |
33 | | -Before you create the DNS server container, ensure you have created the required network bridges so you can attach the DNS server to the correct bridge. |
34 | | - |
35 | | -```bash |
36 | | -docker network create --driver=bridge --subnet=172.16.1.0/24 rac_pub1_nw |
37 | | -docker network create --driver=bridge --subnet=192.168.17.0/24 rac_priv1_nw |
38 | | -``` |
39 | | -**Note:** You can change the subnet according to your environment. |
40 | | - |
41 | | -## Running RAC DNS server container |
42 | | -### Execute following command to create the container on Docker Host |
43 | | - |
44 | | -```bash |
45 | | -docker create --hostname racdns \ |
46 | | - --dns-search=example.com \ |
47 | | - --cap-add=AUDIT_WRITE \ |
48 | | - -e DOMAIN_NAME="example.com" \ |
49 | | - -e WEBMIN_ENABLED=false \ |
50 | | - -e RAC_NODE_NAME_PREFIXD="racnoded" \ |
51 | | - -e SETUP_DNS_CONFIG_FILES="setup_true" \ |
52 | | - --privileged=false \ |
53 | | - --name rac-dnsserver \ |
54 | | - oracle/rac-dnsserver:latest |
55 | | -``` |
56 | | -Connect networks to DNS container in DockerHost- |
57 | | -```bash |
58 | | -docker network disconnect bridge rac-dnsserver |
59 | | -docker network connect rac_pub1_nw --ip 172.16.1.25 rac-dnsserver |
60 | | -docker network connect rac_priv1_nw --ip 192.168.17.25 rac-dnsserver |
61 | | -docker start rac-dnsserver |
62 | | -``` |
63 | | - |
64 | | -### Execute following command to create the container on Podman Host |
65 | | - |
66 | | -```bash |
67 | | -podman create --hostname racdns \ |
68 | | - --dns-search=example.com \ |
69 | | - --cap-add=AUDIT_WRITE \ |
70 | | - -e DOMAIN_NAME="example.com" \ |
71 | | - -e WEBMIN_ENABLED=false \ |
72 | | - -e RAC_NODE_NAME_PREFIXP="racnodep" \ |
73 | | - -e SETUP_DNS_CONFIG_FILES="setup_true" \ |
74 | | - --privileged=false \ |
75 | | - --name rac-dnsserver \ |
76 | | - oracle/rac-dnsserver:latest |
77 | | -``` |
78 | | - |
79 | | -Connect networks to DNS container in PodmanHost- |
80 | | -```bash |
81 | | -podman network disconnect podman rac-dnsserver |
82 | | -podman network connect rac_pub1_nw --ip 172.16.1.25 rac-dnsserver |
83 | | -podman network connect rac_priv1_nw --ip 192.168.17.25 rac-dnsserver |
84 | | -podman start rac-dnsserver |
85 | | -``` |
86 | | -In the above example, we used **172.16.1.0/24** subnet for the DNS server. You can change the subnet values according to your environment. |
87 | | - |
88 | | -Also, `RAC_NODE_NAME_PREFIXD`, `RAC_NODE_NAME_PREFIXP`, and `PRIVATE_DOMAIN_NAME` are optional environment variables. You can utilize one depending on whether you are planning to use DNS Server on Docker or Podman Host and want to utilize the Private Network Domain respectively. |
89 | | - |
90 | | -To check the DNS server container/services creation logs, please tail the Docker logs. It may take up to 2 minutes for the racdns container to start completely. |
91 | | - |
92 | | -```bash |
93 | | -docker logs -f rac-dnsserver |
94 | | -``` |
95 | | - |
96 | | -you should see the following in docker logs output: |
97 | | - |
98 | | -```bash |
99 | | -################################################# |
100 | | -DNS Server IS READY TO USE! |
101 | | -################################################# |
102 | | -``` |
| 1 | +# Oracle DNS Server to resolve Oracle RAC IPs |
| 2 | + |
| 3 | +Sample container build files to facilitate installation, configuration, and environment setup for DevOps users. |
| 4 | + |
| 5 | +**IMPORTANT:** This image can be used to setup DNS server for RAC. You can skip this step if you already have a DNS server configure and which can be used for Oracle RAC. You should ensure that the DNS server container is up before starting RAC. This image is provided for test purposes only. |
| 6 | + |
| 7 | +## How to build and run |
| 8 | +You need to make sure that you have at least 350MB of space available for the container to create the files for RAC DNS server. |
| 9 | + |
| 10 | +**IMPORTANT:** If you are behind a proxy, you need to set the `http_proxy or https_proxy` env variable based on your environment before building the image. Please ensure that you have the `podman-docker` package installed on your OL8 Podman host to run the command using the docker utility. |
| 11 | +```bash |
| 12 | +dnf install podman-docker -y |
| 13 | +``` |
| 14 | + |
| 15 | +The `buildContainerImage.sh` script can assist with building the images. See below for instructions and usage. |
| 16 | + |
| 17 | +The `buildContainerImage.sh` script is a utility shell script that performs MD5 checks and is an easy way to get started. Users can also use the docker build command to build an image with custom configuration parameters. To run the script, go into the `dockerfiles` folder and run the `buildContainerImage.sh` script: |
| 18 | + |
| 19 | +```bash |
| 20 | +cd <git-cloned-path>/docker-images/OracleDatabase/RAC/OracleDNSServer/dockerfiles |
| 21 | +./buildContainerImage.sh-v <Software Version> |
| 22 | +./buildContainerImage.sh -v latest |
| 23 | +``` |
| 24 | +NOTE: To build the DNS server image, pass the version latest to `buildContainerImage.sh`. The RAC DNS server image is not tied to any release of the RAC release, you can use `latest` version to build the image. |
| 25 | + |
| 26 | +For detailed usage instructions, please execute the following command: |
| 27 | + |
| 28 | +```bash |
| 29 | +./buildContainerImage.sh -h |
| 30 | +``` |
| 31 | + |
| 32 | +## Create bridge network |
| 33 | +Before you create the DNS server container, ensure you have created the required network bridges so you can attach the DNS server to the correct bridge. |
| 34 | + |
| 35 | +```bash |
| 36 | +docker network create --driver=bridge --subnet=172.16.1.0/24 rac_pub1_nw |
| 37 | +docker network create --driver=bridge --subnet=192.168.17.0/24 rac_priv1_nw |
| 38 | +``` |
| 39 | +**Note:** You can change the subnet according to your environment. |
| 40 | + |
| 41 | +## Running RAC DNS server container |
| 42 | +### Execute following command to create the container on Docker Host |
| 43 | + |
| 44 | +```bash |
| 45 | +docker create --hostname racdns \ |
| 46 | + --dns-search=example.com \ |
| 47 | + --cap-add=AUDIT_WRITE \ |
| 48 | + -e DOMAIN_NAME="example.com" \ |
| 49 | + -e WEBMIN_ENABLED=false \ |
| 50 | + -e RAC_NODE_NAME_PREFIXD="racnoded" \ |
| 51 | + -e SETUP_DNS_CONFIG_FILES="setup_true" \ |
| 52 | + --privileged=false \ |
| 53 | + --name rac-dnsserver \ |
| 54 | + oracle/rac-dnsserver:latest |
| 55 | +``` |
| 56 | +Connect networks to DNS container in DockerHost- |
| 57 | +```bash |
| 58 | +docker network disconnect bridge rac-dnsserver |
| 59 | +docker network connect rac_pub1_nw --ip 172.16.1.25 rac-dnsserver |
| 60 | +docker network connect rac_priv1_nw --ip 192.168.17.25 rac-dnsserver |
| 61 | +docker start rac-dnsserver |
| 62 | +``` |
| 63 | + |
| 64 | +### Execute following command to create the container on Podman Host |
| 65 | + |
| 66 | +```bash |
| 67 | +podman create --hostname racdns \ |
| 68 | + --dns-search=example.com \ |
| 69 | + --cap-add=AUDIT_WRITE \ |
| 70 | + -e DOMAIN_NAME="example.com" \ |
| 71 | + -e WEBMIN_ENABLED=false \ |
| 72 | + -e RAC_NODE_NAME_PREFIXP="racnodep" \ |
| 73 | + -e SETUP_DNS_CONFIG_FILES="setup_true" \ |
| 74 | + --privileged=false \ |
| 75 | + --name rac-dnsserver \ |
| 76 | + oracle/rac-dnsserver:latest |
| 77 | +``` |
| 78 | + |
| 79 | +Connect networks to DNS container in PodmanHost- |
| 80 | +```bash |
| 81 | +podman network disconnect podman rac-dnsserver |
| 82 | +podman network connect rac_pub1_nw --ip 172.16.1.25 rac-dnsserver |
| 83 | +podman network connect rac_priv1_nw --ip 192.168.17.25 rac-dnsserver |
| 84 | +podman start rac-dnsserver |
| 85 | +``` |
| 86 | +In the above example, we used **172.16.1.0/24** subnet for the DNS server. You can change the subnet values according to your environment. |
| 87 | + |
| 88 | +Also, `RAC_NODE_NAME_PREFIXD`, `RAC_NODE_NAME_PREFIXP`, and `PRIVATE_DOMAIN_NAME` are optional environment variables. You can utilize one depending on whether you are planning to use DNS Server on Docker or Podman Host and want to utilize the Private Network Domain respectively. |
| 89 | + |
| 90 | +To check the DNS server container/services creation logs, please tail the Docker logs. It may take up to 2 minutes for the racdns container to start completely. |
| 91 | + |
| 92 | +```bash |
| 93 | +docker logs -f rac-dnsserver |
| 94 | +``` |
| 95 | + |
| 96 | +you should see the following in docker logs output: |
| 97 | + |
| 98 | +```bash |
| 99 | +################################################# |
| 100 | +DNS Server IS READY TO USE! |
| 101 | +################################################# |
| 102 | +``` |
| 103 | +## Sample Container Files for Older Releases |
| 104 | +To setup an Oracle RAC storage Container for the Docker host on Oracle Linux 7, refer older [README](./README1.md#how-to-build-nfs-storage-container-image-on-docker-host) |
| 105 | +instructions. |
| 106 | + |
| 107 | +## License |
| 108 | +Unless otherwise noted, all scripts and files hosted in this repository that are required to build the container images are under UPL 1.0 license. |
| 109 | + |
| 110 | +## Copyright |
| 111 | +Copyright (c) 2014-2025 Oracle and/or its affiliates. |
0 commit comments