• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Codeigniter 4 and Docker

#1
Hi everyone.

Just finished to try Codeigniter 4 in a Docker container, and I have to say I'm really surprised there's no mention of such technology in the documentation.
I have some points and I'd like to hear your opinion

1) Composer install DOESN'T work out of the box. I find it really surprising because that tool is intended to simplify tasks, not to spend time troubleshooting.

2)Why encoraging people to develop on php local server (spark) installing dependencies and making system "dirty"?

3)What was so wrong with Manual Install? With manual install I was able to get at least the welcome message. Controllers subfolders separation didn't work, and that's a major issue IMO.

I suggest we all start to seriously consider Docker enviroment as a primary alternative, cause it's safe and also realiable for local dev. Not to mention that, once finished, u can create your own images to send in a CI/CD context.

Hope you all get the "constructive" side of my post and would like to give me a feedback, or maybe start to have ideas to implement such great  tech as Docker.
[Image: https://vulndetect.org/assets/uploads/fi...docker.ico]

Andy Biancoblu 

Quote:Once you have eliminated the impossible, whatever remains, however improbable, must be the truth.
Reply

#2
Manual install is still an option (https://codeigniter4.github.io/userguide...anual.html).
Composer install of the appstarter works out of the box, as far as we know. Which composer install are you referring to?
RUnning the local (spark) server is an *option* for those who don't want to configure their server.

"Docker" is coming, this quarter Smile
Reply

#3
I can testify that composer works out of the box.
Reply

#4
Can you share your Dockerfile?
Reply

#5
Controllers and sub folders separation doe's work as long as you namespace them right.
What did you Try? What did you Get? What did you Expect?

Joined CodeIgniter Community 2009.  ( Skype: insitfx )
Reply

#6
If you wish, you can use this basic example to create your container (tested on Ubuntu 18.04 - Docker version 19.03.5, build 633a0ea838):

1) create this structure

codeigniter /
    - conf / apache.conf
    - Dockerfile

apache.conf
Code:
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot "/var/www/html/codeigniter4/public"
    ServerName localhost
    <Directory "/var/www/html/codeigniter4/public/">
        AllowOverride all
    </Directory>
</VirtualHost>

Dockerfile

Code:
FROM php:7.2.26-apache

RUN apt-get update
RUN apt-get upgrade -y

RUN apt-get install --fix-missing -y libpq-dev
RUN apt-get install --no-install-recommends -y libpq-dev
RUN apt-get install -y libxml2-dev libbz2-dev zlib1g-dev
RUN apt-get -y install libsqlite3-dev libsqlite3-0 mariadb-client curl exif ftp
RUN docker-php-ext-install intl
RUN apt-get -y install --fix-missing zip unzip

# Composer
RUN curl -sS https://getcomposer.org/installer | php
RUN mv composer.phar /usr/local/bin/composer
RUN chmod +x /usr/local/bin/composer
RUN composer self-update

ADD conf/apache.conf /etc/apache2/sites-available/000-default.conf

RUN cd /var/www/html
RUN composer create-project codeigniter4/appstarter codeigniter4 -s rc
RUN ls
RUN chmod -R 0777 /var/www/html/codeigniter4/writable

RUN apt-get clean \
    && rm -r /var/lib/apt/lists/*
    
VOLUME /var/www/html

2) Go to the codeigniter folder
   cd codeigniter

3) build the image
Code:
docker build . -t codeginiter:4.0.0-rc.3


4) start the container
Code:
docker container run --publish 80:80 --name ci4 codeginiter:4.0.0-rc.3


At this point you should see the page on the browser ...
Reply

#7
@atsanna This is great! Would you be willing to share this with a larger audience?
Reply

#8
(01-02-2020, 09:03 AM)MGatner Wrote: @atsanna This is great! Would you be willing to share this with a larger audience?

@MGatner I have not invented anything: anyone who wishes can use it as he sees fit: it can be copied, modified, shared, published, sold, etc ... without any restrictions.
Reply


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.