I know I’m just missing something about how docker works so forgive the inexperience in the question. I’ve looked around on Google and either my Google-fu is weak or I’m just not understanding something fundamental here. I Docker documentation gives some hints but I’m still missing something that must be obvious.
So here’s my use case. I want to build wordpress sites by running local docker containers on my system, and push the finished product to an EC2 instance. However… when I’ve tried to push to EC2 from a docker-compose.yml configuration the EC2 instance is created, but the work I’ve done locally is not. I do reference and keep my files and database containers stored outside of the containers with the
volumes option so I can keep them if I have to remove and re-create containers. So I’ve figured as a result of this approach I need to have the external volumes transferred to EC2 along with it. But I’m not sure what the best approach for this is. I thought perhaps creating an image from the container would work but I can’t figure out how to deploy the image correctly. Local testing of creating an image from my container from docker-compose effort returns an error message:
docker: Error response from daemon: cannot mount volume over existing file, file exists /var/lib/docker/overlay...
I based my initial attempt to deploy to EC2 on this article (which is basic but got the points across:
Can someone hand me a clue-by-four?
version: '2' services: db: image: mysql:5.7 restart: always cpu_shares: 100 mem_limit: 524288000 volumes: - /Users/me/dev/dockerimages/testwp/db_data:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: WeakSauceDoNotUse networks: - back phpmyadmin: links: - db image: phpmyadmin/phpmyadmin restart: always ports: - 8088:80 - 8443:443 environment: PMA_HOST: db MYSQL_ROOT_PASSWORD: WeakSauceDoNotUse networks: - back wordpress: links: - db image: wordpress:latest restart: always cpu_shares: 100 mem_limit: 524288000 volumes: - /Users/me/dev/dockerimages/testwp/wp-content:/var/www/html/wp-content - /Users/me/dev/dockerimages/testwp/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini ports: - 80:80 - 443:443 environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_PASSWORD: WeakSauceDoNotUse networks: - back networks: back: volumes: db_data: