Docker basic commands (podman)

  Docker basic commands. Also use full for podman.

 
  • docker search <image-name> - search for image in docker-hub

  • docker run <options> <image-name> - by default docker will run command foreground. For running background use -d option, -it interact with the container instead of just seeing the output, --name option for giving friendly name when lunching container

  • docker logs <friendly-name|container-id> - container standard err or standard out messages

  • docker inspect <friendly-name|container-id> - more detailed information about running container

  • docker ps - list all running docker containers

  • docker run -p <host-port>:<container-port> - define ports you want to bind, when running conatiner

  • docker port <friendly-name|container-id> - list port mappings or a specific port mapping for container

  • -v <host-dir>:<container-dir> - mounts container-dir to host-dir

  • docker stop <friendly-name|container-id> - stopping running container

#docker run -it -d --rm --name linux1 ubuntu /bin/bash
CONTAINER ID   IMAGE     COMMAND       CREATED              STATUS              PORTS     NAMES
370804e50947   ubuntu    "/bin/bash"   About a minute ago   Up About a minute             linux1

-d - detach from container asap it started
--rm - removes a container after stopping
--name - container friendly name

Shared Host File System (Volume Mounting)
docker run --rm -v ${PWD}:/myvol ubuntu /bin/bash -c "ls -lha > /myvol/myfiles.txt"
-v - volume Mounting  local:remote

docker run -it --rm --name my-running-script php:7.2-cli /bin/bash

docker run -it --rm -v ${PWD}:/myfiles -w /myfiles --name my-running-script php:7.2-cli /bin/bash
-w - working dir

Port forwarding
docker run -d -p 8080:80 -v ${PWD}:/var/www/html  php:7.2-apache
-p - port forwarding

docker inspect cont_id
docker logs cont_id
docker image ls
docker ps

Run container from dockerfile
docker build -t myphpapp:web .
docker run -p 8000:8000 myphpapp:web
-t - tagging image

Dockerfile example:

FROM ubuntu
EXPOSE 8000
RUN mkdir /myproject
RUN apt update -y
COPY index.php /myproject
WORKDIR /myproject
#CMD ["php", "-S", "0.0.0.0:8000"]

Comments

Popular posts from this blog

First week in new Job

Install Cisco AnyConnect on Ubuntu