Wednesday, 4 August 2021
Setup NFS Server on Centos 8
Wednesday, 30 June 2021
Docker image push
To push a image to docker hub follow below,
Use docker container ls command to list running container image details.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cb72f5d90279 httpd "httpd-foreground" 21 minutes ago Up 21 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp jkapache
[root@jkcli ~]#
Use docker container commit command to commit container as a image with tag.
sha256:8daf5db17d6fdb0fd6ceea7e4d6ed38d22c3fdad6375f479ed6fc7986eec4a61
[root@jkcli ~]#
You can now list and see the created image is available.
REPOSITORY TAG IMAGE ID CREATED SIZE
jk-httpd test 8daf5db17d6f About a minute ago 189MB
httpd latest 30287d899656 7 days ago 138MB
nginx latest d1a364dc548d 5 weeks ago 133MB
[root@jkcli ~]#
To upload your newly created image to docker hub. First you have to login to docker with docker login credentials. To do this use, docker login command.
[root@jkcli ~]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: karthick04
Password: XXXXX
Now we can tag the image across the repository created in the docker hub. Here I have already created a repository karthick04/jkrepo.
Command : docker tag source_image:tag target_image:tag
REPOSITORY TAG IMAGE ID CREATED SIZE
karthick04/jkrepo version1 8daf5db17d6f 9 minutes ago 189MB
jk-httpd test 8daf5db17d6f 9 minutes ago 189MB
httpd latest 30287d899656 7 days ago 138MB
nginx latest d1a364dc548d 5 weeks ago 133MB
[root@jkcli ~]#
To push the image finally to the docker hub use docker image push command.
The push refers to repository [docker.io/karthick04/jkrepo]
c54811c7708d: Pushed
dfd488a286c9: Pushed
15176fdb9a61: Pushed
61172cb5065c: Pushed
9fbbeddcc4e4: Pushed
764055ebc9a7: Pushed
version1: digest: sha256:c6271d65a6b6a4b6274adcbd51b0ddd5dab1b94b8112ccdbd7d407770bdb238b size: 1578
[root@jkcli ~]#
Successfully we have pushed the image to docker hub, we can see this image in docker hub now
https://hub.docker.com/r/karthick04/jkrepo
Also you can pull same image using docker pull karthick04/jkrepo:version1
version1: Pulling from karthick04/jkrepo
b4d181a07f80: Already exists
4b72f5187e6e: Already exists
12b2c44d04b2: Already exists
ef481fc2a03a: Already exists
d483d945fcab: Already exists
6b6a1b4ae105: Pull complete
Digest: sha256:c6271d65a6b6a4b6274adcbd51b0ddd5dab1b94b8112ccdbd7d407770bdb238b
Status: Downloaded newer image for karthick04/jkrepo:version1
docker.io/karthick04/jkrepo:version1
[root@jkcli ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
karthick04/jkrepo version1 8daf5db17d6f 26 minutes ago 189MB
httpd latest 30287d899656 7 days ago 138MB
nginx latest d1a364dc548d 5 weeks ago 133MB
[root@jkcli ~]#
Bash into a container
Bash into a container
Beginner common mistakes with Docker container
Container run/re-run
When you create a container and then exit it. The container only stops but it still is lying there in stopped/Exited state. You cannot re-run a new container with the same name.
Running httpd container
Unable to find image 'httpd:latest' locally
latest: Pulling from library/httpd
b4d181a07f80: Pull complete
4b72f5187e6e: Pull complete
12b2c44d04b2: Pull complete
ef481fc2a03a: Pull complete
d483d945fcab: Pull complete
[root@jkcli ~]# docker container run --name jkapache -p 8080:80 httpd -d
docker: Error response from daemon: Conflict. The container name "/jkapache" is already in use by container "28c5bc35be99e59baf5ce076bdfad683188b64d2e47d7483e8cfc86a764f832c". You have to remove (or rename) that container to be able to reuse that name.
Friday, 18 June 2021
Docker installation issues
This document is intended to cover Docker Engine installation issue.
Scenario 1: Installing Docker CE on CentOS 8.4 Server GUI
#yum remove container-selinux
Now we can install Docker CE successfully using Docker installation script
Monday, 18 March 2019
Run levels in Linux
The /etc/inittab file is used to set the default run level for the system. Applications/services that are started by init are located in the /etc/rc.d folder. Within this directory there is a separate folder for each run level, eg rc0.d, rc1.d, and so on.
There are 7 Runlevel in linux 0 to 6 explained below,
0 - /etc/rc.d/rc0.d - This is system HALT - this run level will shutdown the system.
1 - /etc/rc.d/rc1.d - This is single user mode - booting with this runlevel will boot with basic command line interface without loading network modules/graphics. Doesn't allow non-root login.
2 - /etc/rc.d/rc2.d - This is multi-user mode - When booting with runlevel 2, network module is not loaded.
3 - /etc/rc.d/rc3.d - This is multi-user mode with network - Boots with network modules and allows multi user modules. System will be booting normally.
4 - /etc/rc.d/rc4.d - This is still undefined/not usable can be user defined.
5 - /etc/rc.d/rc5.d- This is similar to the init level 3 which boots with X11 graphic interface.
6 - /etc/rc.d/rc6.d - This is reboot - When runlevel 6 is called it will reboot the system.
Init is the program that bring up all the other processes. It runs as a daemon and Process ID for Init is 1. This is the first process to run on a linux/unix machine.