Docker Contd…
- Open Container Initiative:
- Refer Here
- An OCI image is created by OCI Runtime filesystem and can be run by OCI Runtime
-
The other container technologies:
-
Note: JSON and YAML Tutorial Refer Here
Scenario 1
- Docker image with non root user
FROM python:3.9-alpine
LABEL author "khaja"
RUN adduser -D qtuser && mkdir /home/qtuser/sample
USER qtuser
WORKDIR /home/qtuser/sample
ADD . /home/qtuser/sample/
RUN pip install -r requirements.txt
EXPOSE 5000
CMD ["python", "main.py"]
Scenario 2
- Try Creating a user called appuser in the Openjdk:11 and try to run springpetclic as appuser
FROM openjdk:11
LABEL author 'khaja'
EXPOSE 8080
RUN useradd -m appuser
USER appuser
WORKDIR /home/appuser
ADD --chown=appuser https://referenceapplicationskhaja.s3.us-west-2.amazonaws.com/spring-petclinic-2.4.2.jar /home/appuser/spring-petclinic-2.4.2.jar
CMD ["java", "-jar", "/home/appuser/spring-petclinic-2.4.2.jar"]
Scenario 3
- create a mysql container on a new network with some password
- create a phpmyadmin container which connects to mysql container created in earlier step
docker network create -d bridge mynet
docker volume create mydbstore
docker container run --name mydb -d -P --mount type=volume,src=mydbstore,target=/var/lib/mysql --network -e MYSQL_ROOT_PASSWORD=rootroot mynet mysql:8
docker container run --name mysqlui -d -P -e PMA_HOST=mydb --network mynet -e MYSQL_ROOT_PASSWORD=rootroot phpmyadmin
version: "3.9"
services:
mysqlui:
image: phpmyadmin
ports:
- 8080:80
networks:
- mynet
environment:
- PMA_HOST=mydb
- PMA_USER=root
- PMA_PASSWORD=rootroot
depends_on:
- mydb
mydb:
image: mysql:8
volumes:
- mydbstore:/var/lib/mysql
networks:
- mynet
ports:
- 3306:3306
environment:
- MYSQL_ROOT_PASSWORD=rootroot
- MYSQL_USER=app
- MYSQL_PASSWORD=appapp
volumes:
mydbstore:
driver: local
networks:
mynet: {}
Like this:
Like Loading...