Created by Kaushal Kishore
Original repo:https://github.com/kaushalkishorejaiswal/Docker-Centos-LEMP
Forked by Fuseteam
Email: [email protected]
Step 1 : Clone the clemp.git
Command:
git clone https://github.com/fuseteam/clemp.git
Step 2 : Change the directory to the clone folder
Command:
cd clemp
Step 3 : Create the Docker Image
Command:
sudo docker build -t ##NAME_OF_YOUR_DOCKER_IMAGE## .
Note :
a). This command will be fired where the DockerFile will be placed
b). ##NAME_OF_YOUR_DOCKER_IMAGE## : Replace it with your image name
c). . : (.) Symbols shows that your Dockerfile is available on the same directory where you are running the command.
Step 4 : Create an Nginx+PHP Installed Container from the image Command Syntax: sudo docker run --name [container name] -p [port to access (New Port):port exposed(original port)] -i -t [image name]
Command:
sudo docker run --name ##NAME_OF_YOUR_DOCKER_CONTAINER## -d -p 8082:80 -p3307:3306 ##NAME_OF_YOUR_DOCKER_IMAGE##
Step 5 : Now you can access your nginx container from your web browser.
Command:
http://127.0.0.1:8082/
Important Notes
changes made in a container can be 'saved' by creating an image from that container with the following command Command Syntax: docker commit -m ""
Command Example:
docker commit -m "changed mysql to mariadb" webapp
database changes are not saved this way To persist database changes use docker volumes
Command for attaching the volume of your hosted machine:
Command Syntax:
sudo docker run --name ##NAME_OF_YOUR_DOCKER_CONTAINER## -d -p 8082:80 -v ##HOSTED_VOLUME_LOCATION##:##CONTAINER_VOLUME_LOCATION## ##YOUR_IMAGE_NAME##
Command Example:
sudo docker run --name nginx_ins -d -p 8082:80 -v /home/mysqldata:/var/lib/mysql clemp
any container that needs to make use of the same database should specify the database password via the PASSWORD enviroment variable, the container_run script makes it easier to do so. The docker volume can be sit anywhere including a different machine than the container runs on. See docker documentation for details. Additionally when moving the data directory the directory permissions should be preserved, otherwise subquentent databases will not be able to access it. The correct permissions can be verified after the first data directory is created with
ls -lshell access to a container can be gained with the following command
docker exec -it ##container-name bashcontainers can be stopped with the following command
docker stop ##container-namestopped containers can be started again with the following command
docker start ##container-namea prebuild image of this configuration can be pulled with the following command
docker pull fuseteam/clempthe nginx in this image is tailored for a specific folder structure, the following are configured in Nginx:
Content type
Image
Digest
Size
403.1 MB
Last updated
almost 6 years ago
docker pull fuseteam/clemp