Skip to main content
corrected side boxes
Source Link
Zarko
  • 299.8k
  • 23
  • 178
  • 379

enter image description hereenter image description here

\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{arrows.meta,
                calc,
                positioning
                }

\begin{document}
    \begin{tikzpicture}[
    node distance=2mm and 3mm,
    box/.style args = {#1/#2}{%
        minimum width=#1, minimum height=6mm, align=center,
        fill=#2,
        font=\bfseries, text=white,
        draw, inner sep=2mm, outer sep=0mm}
                        ]
% left containers (in vertical midddle of image)
\node (nLa) [box=20mm/red]                {container};
\node (nLb) [box=20mm/red,right=of nLa]   {container};
\node (nLc) [box=20mm/red,right=of nLb]   {container};
% right containers (in vertical midddle of image)
\node (nRa) [box=20mm/red,right=of nLc]   {container};
\node (nRb) [box=20mm/red,right=of nRa]   {container};
\node (nRc) [box=20mm/red,right=of nRb]   {container};
% nodes below (left and right column)
\path   let \p1 = ($(nLa.west) - (nLc.east)$),
            \n1 = {veclen(\y1,\x1)} in
        node (nL2)   [box=\n1/purple, below=of nLb] {container Runtime}
        node (nL3)   [box=\n1/cyan,   below=of nL2] {Container OS}
        node (nL4)   [box=\n1/cyan,   below=of nL3] {Physical Host (or VM)}
        %
        node (nR2)   [box=\n1/purple, below=of nRb] {container Runtime}
        node (nR3)   [box=\n1/cyan,   below=of nR2] {Container OS}
        node (nR4)   [box=\n1/cyan,   below=of nR3] {Physical Host (or VM)};
% nodes on bottom and top
\path   let \p1 = ($(nLa.west) - (nRc.east)$),
            \n1 = {veclen(\y1,\x1)} in
        node (nB)   [box=\n1/purple,
                     below=of $(nL4.south)!0.5!(nR4.south)$]        {DevOps Tools}
        %
        node (nT1)  [box=\n1/black,
                     above=8mm of $(nLc.north)!0.5!(nRa.north)$]    {Container Network}
        node (nT2)  [box=\n1/blue!40!black,above=of nT1]            {Container \dots}
        node (nT3)  [box=\n1/blue!80!black,above=of nT2]            {Container \dots}
        node (nT4)  [box=\n1/blue!2050,above=of nT3]                  {Container \dots};            
% nodes on left andrightand right
\path   let \p1 = ($(nT4.north west) - (nBnL4.south west)$),
            \n1 = {veclen(\y1,\x1)} in
        node (L1)   [box=\n1/purple!80!black,
                    left=of $(nT4.north west)!0.5!(nBnL4.south west)$,
                    anchor=south, rotate=90]                        {Configureation \dots}
        node (L2)   [box=\n1/olive,
                    left=of L1.north,
                    anchor=south, rotate=90]                        {Marketplace/Image Management}
        node (L2)   [box=\n1/gray,
                    right=of $(nT4.north east)!0.5!(nBnR4.south east)$,
                    anchor=north, rotate=90]                        {Security}
        ;
   \end{tikzpicture}
\end{document}

enter image description here

\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{arrows.meta,
                calc,
                positioning
                }

\begin{document}
    \begin{tikzpicture}[
    node distance=2mm and 3mm,
    box/.style args = {#1/#2}{%
        minimum width=#1, minimum height=6mm, align=center,
        fill=#2,
        font=\bfseries, text=white,
        draw, inner sep=2mm, outer sep=0mm}
                        ]
% left containers (in vertical midddle of image)
\node (nLa) [box=20mm/red]                {container};
\node (nLb) [box=20mm/red,right=of nLa]   {container};
\node (nLc) [box=20mm/red,right=of nLb]   {container};
% right containers (in vertical midddle of image)
\node (nRa) [box=20mm/red,right=of nLc]   {container};
\node (nRb) [box=20mm/red,right=of nRa]   {container};
\node (nRc) [box=20mm/red,right=of nRb]   {container};
% nodes below (left and right column)
\path   let \p1 = ($(nLa.west) - (nLc.east)$),
            \n1 = {veclen(\y1,\x1)} in
        node (nL2)   [box=\n1/purple, below=of nLb] {container Runtime}
        node (nL3)   [box=\n1/cyan,   below=of nL2] {Container OS}
        node (nL4)   [box=\n1/cyan,   below=of nL3] {Physical Host (or VM)}
        %
        node (nR2)   [box=\n1/purple, below=of nRb] {container Runtime}
        node (nR3)   [box=\n1/cyan,   below=of nR2] {Container OS}
        node (nR4)   [box=\n1/cyan,   below=of nR3] {Physical Host (or VM)};
% nodes on bottom and top
\path   let \p1 = ($(nLa.west) - (nRc.east)$),
            \n1 = {veclen(\y1,\x1)} in
        node (nB)   [box=\n1/purple,
                     below=of $(nL4.south)!0.5!(nR4.south)$]        {DevOps Tools}
        %
        node (nT1)  [box=\n1/black,
                     above=8mm of $(nLc.north)!0.5!(nRa.north)$]    {Container Network}
        node (nT2)  [box=\n1/blue!40!black,above=of nT1]            {Container \dots}
        node (nT3)  [box=\n1/blue!80!black,above=of nT2]            {Container \dots}
        node (nT4)  [box=\n1/blue!20,above=of nT3]                  {Container \dots};            
% nodes on left andright
\path   let \p1 = ($(nT4.north) - (nB.south)$),
            \n1 = {veclen(\y1,\x1)} in
        node (L1)   [box=\n1/purple!80!black,
                    left=of $(nT4.north west)!0.5!(nB.south west)$,
                    anchor=south, rotate=90]                        {Configureation \dots}
        node (L2)   [box=\n1/olive,
                    left=of L1.north,
                    anchor=south, rotate=90]                        {Marketplace/Image Management}
        node (L2)   [box=\n1/gray,
                    right=of $(nT4.north east)!0.5!(nB.south east)$,
                    anchor=north, rotate=90]                        {Security}
        ;
   \end{tikzpicture}
\end{document}

enter image description here

\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{arrows.meta,
                calc,
                positioning
                }

\begin{document}
    \begin{tikzpicture}[
    node distance=2mm and 3mm,
    box/.style args = {#1/#2}{%
        minimum width=#1, minimum height=6mm, align=center,
        fill=#2,
        font=\bfseries, text=white,
        draw, inner sep=2mm, outer sep=0mm}
                        ]
% left containers (in vertical midddle of image)
\node (nLa) [box=20mm/red]                {container};
\node (nLb) [box=20mm/red,right=of nLa]   {container};
\node (nLc) [box=20mm/red,right=of nLb]   {container};
% right containers (in vertical midddle of image)
\node (nRa) [box=20mm/red,right=of nLc]   {container};
\node (nRb) [box=20mm/red,right=of nRa]   {container};
\node (nRc) [box=20mm/red,right=of nRb]   {container};
% nodes below (left and right column)
\path   let \p1 = ($(nLa.west) - (nLc.east)$),
            \n1 = {veclen(\y1,\x1)} in
        node (nL2)   [box=\n1/purple, below=of nLb] {container Runtime}
        node (nL3)   [box=\n1/cyan,   below=of nL2] {Container OS}
        node (nL4)   [box=\n1/cyan,   below=of nL3] {Physical Host (or VM)}
        %
        node (nR2)   [box=\n1/purple, below=of nRb] {container Runtime}
        node (nR3)   [box=\n1/cyan,   below=of nR2] {Container OS}
        node (nR4)   [box=\n1/cyan,   below=of nR3] {Physical Host (or VM)};
% nodes on bottom and top
\path   let \p1 = ($(nLa.west) - (nRc.east)$),
            \n1 = {veclen(\y1,\x1)} in
        node (nB)   [box=\n1/purple,
                     below=of $(nL4.south)!0.5!(nR4.south)$]        {DevOps Tools}
        %
        node (nT1)  [box=\n1/black,
                     above=8mm of $(nLc.north)!0.5!(nRa.north)$]    {Container Network}
        node (nT2)  [box=\n1/blue!40!black,above=of nT1]            {Container \dots}
        node (nT3)  [box=\n1/blue!80!black,above=of nT2]            {Container \dots}
        node (nT4)  [box=\n1/blue!50,above=of nT3]                  {Container \dots};            
% nodes on left and right
\path   let \p1 = ($(nT4.north west) - (nL4.south west)$),
            \n1 = {veclen(\y1,\x1)} in
        node (L1)   [box=\n1/purple!80!black,
                    left=of $(nT4.north west)!0.5!(nL4.south west)$,
                    anchor=south, rotate=90]                        {Configureation \dots}
        node (L2)   [box=\n1/olive,
                    left=of L1.north,
                    anchor=south, rotate=90]                        {Marketplace/Image Management}
        node (L2)   [box=\n1/gray,
                    right=of $(nT4.north east)!0.5!(nR4.south east)$,
                    anchor=north, rotate=90]                        {Security}
        ;
   \end{tikzpicture}
\end{document}
Source Link
Zarko
  • 299.8k
  • 23
  • 178
  • 379

like this?

enter image description here

correct text and colors i left to you ....

\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{arrows.meta,
                calc,
                positioning
                }

\begin{document}
    \begin{tikzpicture}[
    node distance=2mm and 3mm,
    box/.style args = {#1/#2}{%
        minimum width=#1, minimum height=6mm, align=center,
        fill=#2,
        font=\bfseries, text=white,
        draw, inner sep=2mm, outer sep=0mm}
                        ]
% left containers (in vertical midddle of image)
\node (nLa) [box=20mm/red]                {container};
\node (nLb) [box=20mm/red,right=of nLa]   {container};
\node (nLc) [box=20mm/red,right=of nLb]   {container};
% right containers (in vertical midddle of image)
\node (nRa) [box=20mm/red,right=of nLc]   {container};
\node (nRb) [box=20mm/red,right=of nRa]   {container};
\node (nRc) [box=20mm/red,right=of nRb]   {container};
% nodes below (left and right column)
\path   let \p1 = ($(nLa.west) - (nLc.east)$),
            \n1 = {veclen(\y1,\x1)} in
        node (nL2)   [box=\n1/purple, below=of nLb] {container Runtime}
        node (nL3)   [box=\n1/cyan,   below=of nL2] {Container OS}
        node (nL4)   [box=\n1/cyan,   below=of nL3] {Physical Host (or VM)}
        %
        node (nR2)   [box=\n1/purple, below=of nRb] {container Runtime}
        node (nR3)   [box=\n1/cyan,   below=of nR2] {Container OS}
        node (nR4)   [box=\n1/cyan,   below=of nR3] {Physical Host (or VM)};
% nodes on bottom and top
\path   let \p1 = ($(nLa.west) - (nRc.east)$),
            \n1 = {veclen(\y1,\x1)} in
        node (nB)   [box=\n1/purple,
                     below=of $(nL4.south)!0.5!(nR4.south)$]        {DevOps Tools}
        %
        node (nT1)  [box=\n1/black,
                     above=8mm of $(nLc.north)!0.5!(nRa.north)$]    {Container Network}
        node (nT2)  [box=\n1/blue!40!black,above=of nT1]            {Container \dots}
        node (nT3)  [box=\n1/blue!80!black,above=of nT2]            {Container \dots}
        node (nT4)  [box=\n1/blue!20,above=of nT3]                  {Container \dots};            
% nodes on left andright
\path   let \p1 = ($(nT4.north) - (nB.south)$),
            \n1 = {veclen(\y1,\x1)} in
        node (L1)   [box=\n1/purple!80!black,
                    left=of $(nT4.north west)!0.5!(nB.south west)$,
                    anchor=south, rotate=90]                        {Configureation \dots}
        node (L2)   [box=\n1/olive,
                    left=of L1.north,
                    anchor=south, rotate=90]                        {Marketplace/Image Management}
        node (L2)   [box=\n1/gray,
                    right=of $(nT4.north east)!0.5!(nB.south east)$,
                    anchor=north, rotate=90]                        {Security}
        ;
   \end{tikzpicture}
\end{document}