.. _overwrite_existing_docker_image: ******************************* Overwrite existing Docker image ******************************* This section is all about customizing the Devilbox and its Docker images specifically to your needs. **Table of Contents** .. contents:: :local: Prerequisites ============= The new Docker image overwrite will be added to a file called ``docker-compose.override.yml``. So before going any further, read the following section that shows you how to create this file for the Devilbox as well as what pitfalls to watch out for. .. seealso:: :ref:`docker_compose_override_yml` What information do you need? ============================= 1. The service to overwrite How to overwrite a service? =========================== Generic steps ------------- 1. Copy the whole service definition from docker-compose.yml to docker-compose.override.yml 2. Remove anything unecessary 3. Adjust the values you need Overwrite Docker image for the bind service ------------------------------------------- The following example is using the ``bind`` service and overrides the Docker image to illustrate how this is done : First you simply copy the while definition of the bind service from ``docker-compose.yml`` to ``docker-compose.override.yml``: .. code-block:: yaml :caption: docker-compose.override.yml version: '2.1' services: bind: image: cytopia/bind:0.11 restart: always ports: # [local-machine:]local-port:docker-port - "${LOCAL_LISTEN_ADDR}${HOST_PORT_BIND:-1053}:53" - "${LOCAL_LISTEN_ADDR}${HOST_PORT_BIND:-1053}:53/udp" environment: ## ## Debug? ## - DEBUG_ENTRYPOINT=${DEBUG_COMPOSE_ENTRYPOINT} - DOCKER_LOGS=1 ## ## Bind settings ## - WILDCARD_ADDRESS=172.16.238.11 - DNS_FORWARDER=${BIND_DNS_RESOLVER:-8.8.8.8,8.8.4.4} dns: - 127.0.0.1 networks: app_net: ipv4_address: 172.16.238.100 The second step is to remove everything that you do not need to overwrite: .. code-block:: yaml :caption: docker-compose.override.yml version: '2.1' services: bind: image: cytopia/bind:0.11 The last step is to actually adjust the value you want to change for the bind service: .. code-block:: yaml :caption: docker-compose.override.yml :emphasize-lines: 4 version: '2.1' services: bind: image: someother/bind:latest Further reading =============== .. seealso:: * :ref:`docker_compose_override_yml` * :ref:`add_your_own_docker_image`