Docker pull nginx. Digest OS/ARCH [root@server446 ~]$ docker pull server908.


Docker pull nginx I am getting below when I pulled as a anonymous user docker pull nginx Using default tag: latest latest: Pulling from library/nginx toomanyrequests: You have reached your pull rate limit. Hi, I am not able to pull public images form anonymous user, But If i login to Docker hub account after authentication able to pull public images from docker. 03. Or use the nginx image from docker hub written by people who understand security. 0 image, set the hostname to “mynim The problem still persists on registry 2. 25 will run always the latest rootless 1. 環境はwindows10 WSL2とDockerはインストール済とする I setup an nginx server, running nginx version: nginx/1. Search code, repositories, I recently want to set a reverse proxy server. g. Changing the DNS The default NGINX user directive in /etc/nginx/nginx. Overview Tags. issues, pull requests Search Clear. I started nginx with this command: docker run -dit --rm --name nginx -p 9001:80 nginx. docker pull nginx:mainline-bookworm-perl. conf has been removed; The default NGINX PID has been moved from /var/run/nginx. docker pull nginx ② Confirm you successfully pulled the image. Create a deployment kubectl run test --image=test:test8970 It won't go to docker registry to pull the image. It can even pull the whole repository if required using the ‘–all Since running the above I was able to pull nginx, alpine and frens from hub. I guess two or more containers got up and running but when I open localhost:8888 it shows the site cannot be reached. 14393 in the manifest list entries ##[error]C:\Program Files\Docker\docker. docker run --rm -p 8088:80 nginx. Changing the DNS of the Docker vEthernet(DockerNAT) network adapter to 8. docker pull --platform linux/arm64 repo/python Of course, source must contain an image for the requested platform. meyay (Metin Y. See Dockerfile for build steps. My question: $ docker pull busybox Use docker save to make a . If you want to pull a specific version of an image, you can specify the tag using the following syntax: Alternatively, check out the official Docker NGINX unprivileged image. These are the logs from the registry after a push-try (some names are changed for security reasons): I'm new to docker, and I have some issues with the process of pushing images into a private registry and pulling them by docker-compose. tar or you can use the following syntax I installed a docker image from the registry by doing. Search syntax Official build of Nginx. Copy docker-compose pull nginx Update containers: All containers: docker-compose up-d Single container: docker-compose up-d nginx You can also remove the old dangling images: docker image prune Run the following command to pull NGINX from Docker Hub to Docker Host. Here’s an #mv xx/. ; For NGINX Plus users, download the certificate (nginx-repo. This example pulls the official Nginx image. Kalian bisa mengganti menjadi latest atau 1. tar of your image $ docker save busybox > busybox. 8. If you don't have a Docker ID, head over to Before you begin . com' pointing to the nginx server, and setup a site. conf in this repository and rebuild the image. Digest OS/ARCH Official build of Nginx. 2. 0+ (released on 2020-12-08) supports explicit definition of the platform via --platform tag, e. Copy I am currently trying to set up nexus as a private registry for docker images and have been able to login,push,pull,search through the nexus repository . – zahra_oveyedzade. Specifying a Tag. 37. Learn how to use the official nginx image for web servers, reverse proxies, load balancers, and more. conf by editing etc/nginx. Copy. docker pull alpine Using default tag: latest latest: Pulling from library/alpine Digest: sha256 mihomo + metacubexd + docker compose + nginx 反代教程 Search code, repositories, users, issues, pull requests Search Clear. First it searches for the image on local storage and then docker registry. We are ready to run the Nginx Docker container and expose its port to your local network. 27. This can be done a few ways depending on your project. d scripts will be run because of how docker-entrypoint. Here is the config: Sidebar placeholder Connect NGINX Plus container images to NGINX One Overview . It’s my first time working with docker, nginx and nexus, so I’m a bit lost on where to continue looking. 12 Git commit Hello @khaostheory,. 4:8080 (which is the IP shown in docker inspect nginx_1) Here is my docker-compose. 使用以下命令来查看是否已安装了 nginx: $ docker images. com:6666/centos Using default tag: latest Trying to pull repository server908. Copy However, trying to pull an image with just “docker pull my-repo. docker. It helps to download the images from any registry, whether might be a public registry or private registry. And simple page is available on localhost:9001. 35 login was not required to be able to pull. json file only has a single entry). I have a Nginx proxy (followed the guide at docker registry 2). Sign in Product Usage: dp pull [flags] Aliases: pull, p Examples: # pull a image or set the name to save $ sudo docker version Client: Docker Engine - Community Version: 19. docker exec nginx-proxy service nginx reload These sequence of steps is the culmination of hours of pounding head-aches as I struggled with the ever painful 502 Bad Gateway error, and learning nginx for the first time, since most of my experience was with Apache. Hub Alpine Linux image with Nginx latest with TLSv1. Copy docker pull nginx:latest. Docs Get support Now let’s share our images on In this article as promised, I will show you how to Pull and Deploy Nginx Container Images from Docker Hub pull (download) to your local system, add a tag, map the TCP port 8080 to TCP port 80 for Nginx container Images Step 3: By using the command mentioned below you can pull the nginx image by using Docker which is located in the DockerHub. Copy If you run docker pull on the machine once, on subsequent times your Dockerfile is run, it will use the local copy instead of hitting Docker Hub (and using up your rate limit). Step 2: Pull the Docker image. Image Variants. yml file in another computer in our office. nginx folder: default. sh works. 20-perl. Am I missing something important within nginx or docker or nexus. Search code, repositories, users, issues, pull requests Search Clear. conf -g 'daemon off;'. Make sure while tagging image locally you use same tag which you want to pull in future. This command will download the latest version of the Nginx image from Docker Hub to your local machine. I am a complete beginner to docker with Windows and its a nightmare to figure out! Have tried localhost:8080 and 172. 4k次。本文详细介绍了Docker的安装步骤,包括如何从官方镜像仓库下载Nginx镜像,如何检查已下载的镜像。接着,讲解了创建Nginx配置文件的必要性,并提供了创建挂载目录的 Kubernetes doesn't directly pull from the registry. The following images are built: latest. my-domain[dot]com/ubuntu” results in pulling the html displayed when browsing to the repo path in a webbrowser. Navigation Menu Toggle navigation. Docker maintains a site called Dockerhub, a public repository of Docker files (including both official and user-submitted images). To answer question from the title: you can pull image by digest. Is there are ch In earlier version 4. 0:. nginx:<version> This is the defacto image. 40 Go version: go1. Currently we are stuck with pulling images when I type docker pull nginx, it will fail with message $ docker pull nginx Using default tag: latest Pulling repository docker. This line of code saved me : ENTRYPOINT sudo nginx -c /etc/nginx/nginx. NGINX Unit is a lightweight and versatile application runtime that provides the essential components for your web application as a single open-source server: running application code, serving static assets, handling TLS and request routing. By default, /usr/share/nginx/html directory on the container houses all the web content files. Search syntax tips. io/ sudo docker pull nginx This downloads all the necessary components for the container. We can simply pull the image: $ docker pull nginx The command installs all the necessary Alternatively, check out the official Docker NGINX unprivileged image. docker. Image consumers can enable DCT to ensure that images they use were signed. conf: I did try after login to docker, I tried restarting, cleanup all docker data, factory reset, Uninstalled and installed a latest version. If you are unsure about what your needs are, you probably want to use this one. Contribute to jetsung/docker-nginx-php development by creating an account on GitHub. The full image description on Docker Hub is generated/maintained over in the docker-library/docs repository, specifically in the nginx directory. ", even after restarting the docker daemon or the entire server. Copy Alternatively, check out the official Docker NGINX unprivileged image. And I don't think the what I see when I run docker-compose logs -f nginx is JSON format. Any idea where I should look to see how my current logging is configured? Nginx docker image that returns the request URI and container hostname - adfinis/nginx-echo. ) December 4, 2024, 7:38am 2. Install NGINX on Docker using the docker pull and docker run commands; Verify NGINX installation using the docker exec command; Configure NGINX by creating or editing configuration files inside the container; Restart NGINX to apply new configurations; Test NGINX by accessing the container’s IP address in a web browser; Additional Resources docker pull nginx. Pull Nginx Docker image. You may increase the See 'docker run --help'. io ecosystem to minimise space usage, down time and bandwidth First pull the image in your local system using docker pull nginx and then use below command to load that image to the kind cluster. Docker will cache these, so when we run the container we don’t need to download the container image(s) each time. 25 version. We can use the following command to accomplish that. The image we Docker from version 20. docker pull nginx:stable-bookworm-otel. 03 or higher; GNU Make; git; OpenSSL, optionally, if you would like to generate a self-signed certificate and a key for the default server. Minikube returns Try to reduce the size of the image. The NGINX Instance Manager container is a single Docker image that includes all dependencies, making it easy to quickly set up NGINX Instance Manager with NGINX Open Source. create a tag for nginx before pushing it to private registry docker pull nginx docker pull nginx:stable-alpine You can then find the image sizes with the command: docker image ls From this you can see the Debian image weighs around 140 MB while the Alpine image weighs around Run Nginx in a Docker Container. come just by setting image: alpine in the yaml spec. docker pull nginx:<Version> Docker pull is a command that is used to pull any image you want to use and Nginx is the image that you can run as a container <version> you have to mention the version of the image based on Official build of Nginx. 6 dan lain-lain. We can confirm from the Status line that the Nginx image is the latest and that the pull was successful. Pull latest nginx image. Run the container ① Run the container Listen Port: 3000, Forward to: 80. io/library/nginx Network timed out while trying to connect to https://index. root@ser300462488588:~# docker pull nginx Using default tag: latest latest: Pulling from library/nginx 2cc3ae149d28: Waiting 1018f2b8dba8: Waiting b831e78d8e20: Waiting 3ab22521e919: This project comes as a pre-built docker image that enables you to easily forward to your websites running at home or otherwise, including free SSL, without having to know too much about Nginx or Letsencrypt. If you are working with a private Docker registry, make sure to authenticate with the registry before attempting to pull images. 40 (minimum version 1. It will bring up the pod 1. 3、查看本地镜像. See the Docker Hub page for the full readme on how to use this Docker image and for information regarding contributing and issues. 0-bookworm-perl. HAProxy will be installed on on a Official build of Nginx. a cli tool which could pull docker images without docker - zhangguanzhang/dp. Docker container for managing Nginx proxy hosts with a simple, powerful interface - Pull requests · NginxProxyManager/nginx-proxy-manager docker hub 镜像是支持多 cpu 架构的,默认 github action 拉取是宿主机相同 cpu 架构,应该都是x86 . json xx/. To download Official build of Nginx. docker images 2. 8 fixed it for me, as described in this GitHub issue. 62: docker pull soulteary/prebuilt-nginx-modules:ngx-1. 1' and doesn't have the word "logging" anywhere in the file. Alternatively, check out the official Docker NGINX unprivileged image. docker pull nginx:stable-bookworm-perl. 0-bullseye-perl. 1. This article will introduce how to run Nginx in a Docker Container quickly, including docker pull, docker run, docker commit and. int. Dockerでnginxを動作させるまでの手順. See the supported tags, architectures, and Dockerfile links for nginx. Available Architectures: amd64, arm64, 386, arm/v7, arm/v6 This image is based on the official Nginx Docker image and extends it with the ability to have virtual hosts created automatically, as well as adding SSL certificates when creating Nginx PHP for Docker. docker pull nginx:1-alpine3. docker run -p 8888:80 nginx. docker run -p 80:80 nginx. You can modify the nginx. docker tag nginx:latest test:test8970. docker pull paintedfox/nginx-php5. For example, if you are using Node you could use FROM node:11-alpine instead of FROM node:11 for a significantly smaller image. Make sure you include daemon off; in the configuration. $ docker run -d -p 80:80 --name nginx nginx:latest Unable to find image 'nginx:latest' locally latest: Pulling from library/nginx Share Improve this answer I think you are trying to tag your image as v8. docker/config_old. Run the docker pull command to retrieve, or pull, the latest nginx image from the NGINX Docker Hub repository using the Images that are pulled through Docker Content Trust can be trusted as their cryptographic signatures are automatically verified. It worked fine after this change. 62-alpine This means that, if your custom CMD does not start with nginx or nginx-debug (which was the case for me), none of the /docker-entrypoint. 24. If i run dockerd in debug mode i see this in the logs: docker pull labex/nginx:latest Authenticate with Private Docker Registries. See the steps, commands, and configuration options for each method. docker pull nginx:stable-alpine3. Stack Overflow for Teams Where developers & technologists share private knowledge with coworkers; Advertising & Talent Reach devs & technologists worldwide about your product, service or employer brand; OverflowAI GenAI features for Teams; OverflowAPI Train & fine-tune LLMs; Labs The future of collective knowledge sharing; About the company Step 1/7 : FROM nginx:alpine alpine: Pulling from library/nginx no matching manifest for windows/amd64 10. docker pull nginx. 2 Copy. kind load docker-image nginx --name kind-cluster-name Kind uses containerd instead of docker as runtime, that's why docker is not installed on the nodes. ② Confirm you successfully pulled the image. I have 2 folders in my project: nginx, and client. – Max Allan. 1. 23 docker pull --platform linux/arm64 nginx:1. 2 . Learn how to harness the NGINX Docker Official Image from running a basic server to shipping the image. Learn more. key) from MyF5. Copy docker pull --quiet nginx:1. To get started, you need the following software installed on your machine: Docker v19. 4. Nothing works. 23 To manually specify that both the amd64 and arm64 images should be pulled, but the docker save still exports only a single image (which we can tell from the fact that the manifest. Provide feedback We read every piece of feedback, and take your input very seriously. So if you have no dns/vpn/xhyve complications and it Keep your container slim. 0, and setup a dns record for 'nginx-proxy. Answer for Docker versions before 20. 20. To do this, we run the image with the command: sudo docker run-d-p 80:80- docker run --name docker-nginx-p 80:80 nginx ; Here’s a quick rundown of what’s happening with this command: run is the command to create a new container; The --name flag is how you specify the name of the container. The --rm Stack Overflow for Teams Where developers & technologists share private knowledge with coworkers; Advertising & Talent Reach devs & technologists worldwide about your product, service or employer brand; OverflowAI GenAI features for Teams; OverflowAPI Train & fine-tune LLMs; Labs The future of collective knowledge sharing; About the company This answer seems like it would be in the right direction, but I just looked at my docker-compose. I've also tried: Sending build context to Docker daemon 9. 3-bookworm-perl. docker pull --platform linux/amd64 nginx:1. Include my email address so I can be contacted. 19. Dockerではnginxを簡単に動作させることが可能です。 nginxの導入~SSL化までの手順を解説。 必要に応じてWSL上のコマンドは先頭にsudoを記述してください。 前提条件. OpenResty; Lua; Crowdsec Openresty Bouncer Contribute to nginxinc/docker-nginx development by creating an account on GitHub. 25. 3-alpine-perl. This guide explains how to set up an F5 NGINX Plus Docker container with NGINX Agent and connect it to the NGINX One Console. Digest OS/ARCH The official Nginx image is available on Dockerhub, so we don’t have to worry about building our own image for Nginx. docker pull nginx:1. docker registry is up and running fine as of now. First, open a terminal session where you will run all of the necessary Docker commands. 2 will run the current latest version (this image will be always the same). example. Cek versinya Description of problem: When pulling the nginx image, I always get the message "Layer already being pulled by another client. Originally written by Igor Sysoev and distributed under the 2-clause BSD License. 21. Incident Update: Docker Desktop for Mac. I hope this helps. conf file to nginx. Official NGINX Dockerfiles. I created this project to fill a . Docker images can have multiple versions, referred to as tags. Advantages of Docker Pull. docker pull nginx:latest Official build of Nginx. Usage. Next, you need to install and configure GLPI inside the NGINX container. All built on the bleeding edge for max performance. pid to /tmp/nginx. Alternatively, check out the official Docker NGINX unprivileged image ⁠. You can do this by logging in to the registry using the docker login command. conf like below: The website docker hub just show the command such as "docker pull nginx" , but i can't connect to the network ,it is useless for me . Now I wish to make some changes to this nginx's config files to add some domains. To pull the NGINX Instance Manager 2. Also, make sure you are not putting build files inside the image. The nginx images come in many flavors, each designed for a specific use case. Contribute to nginxinc/docker-nginx development by creating an account on GitHub. docker run nginx:1. Actualy, i was providing the wrong image name and it does not report for wrong image and displayed the above message. 62; docker pull soulteary/prebuilt-nginx-modules:ngx-1. Learn how to install and run Nginx as a web server in a Docker container using a Dockerfile or the official Nginx image. - woosungchoi/doc Alternatively, check out the official Docker NGINX unprivileged image. Alternatively you can use crictl tool to pull and check images inside the kind node. 3, 0-RTT, brotli, NJS support, and 10 MB size. If you create a vpc native GKE cluster which is private it by default has no access to the internet. If you link this container using PHP-FPM container, for example, makes sure to build Here is how I usually go through these steps: # download an image > docker pull danielszabo99/microbin # list your images > docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE danielszabo99/microbin latest c6669d651bfe 37 hours ago 77. I am using Windows 10 and I have installed Docker and pulled nginx: docker pull nginx. org. Install NGINX on Docker using the docker pull and docker run commands; Verify NGINX installation using the docker exec command; Configure NGINX by creating or editing 要拉取Docker Hub上的最新Nginx镜像,您可以使用以下命令: docker pull nginx 这个命令会从Docker Hub下载最新版本的Nginx镜像。如果您想要拉取特定版本的Nginx镜像,可以指定版本号,例如: docker pull nginx:1. The script will create and configure 3 servers, one load balancer, and two Nginx web servers. io team brings you another container release featuring:. Copy This is the Git repo of the Docker "Official Image" for nginx. So steps will be like below: docker build -t clkao/postgres-pl:v8. Official build of Nginx. 12 Git commit: 633a0ea Built: Wed Nov 13 07:25:41 2019 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19. Waiting. Thank you. 17. Built on the edge, for the edge. However the same command works on different machine. "Pull it away and slide mine out" in "Wuthering Heights" Alternatively, check out the official Docker NGINX unprivileged image. dev16:~/git/private/$ docker pull arm64v8/nginx:stable-alpine stable-alpine: Pulling from arm64v8/nginx stable-alpine: Pulling from arm64v8/nginx stable-alpine: Pulling from arm64v8/nginx no matching manifest for linux/amd64 in the manifest list docker pull unit. yml Having installed minikube, docker desktop etc. You can use a Dockerfile to automate this process. 3: Download all tags of a specific Docker image. 12) Go version: go1. . crt) and key (nginx-repo. $ sudo service docker restart docker s The LinuxServer. Before we begin pulling our first Nginx image from the docker hub, let me show you some important commands in Docker. I pulled a nginx docker image and I ran the docker container using this command: docker run -d --name ngtest -p 4080:80 nginx Then I updated the /etc/nginx/nginx. I believe the config files are somehow help inside the dockers image, but where is the image? How can I change these config files? Pull access denied for basic-company-aspnetcore-solution, repository does not exist or may require 'docker login': denied: requested access to the resource is denied NGINX Load Balancer packaged with docker-gen for docker-compose The configuration is generated dynamically on the fly and is based on environment variables both on LB and Server side On NGINX, you need to define the For example: docker pull nginx works, but not docker pull redis. sh 文件 This is a base image for use in other images. If I login (private) it works fine. docker run nginxinc/nginx-unprivileged:1. exe failed with return code: 1 docker pull nginx:alpine. 如果需要拉取别的 cpu 架构支持,可以按照修改修改 pull. Run the container. yml, and it says version: '2. sudo docker pull nginx Run the Nginx Docker Container. 0 拉取完成后,您可以使用以下命令来运行Nginx容器: Alternatively, check out the official Docker NGINX unprivileged image. pid; Change *_temp_path variables to /tmp/* New images are built and pushed to To preserve your web server data when the container restarts, put the web content directory on a persistent volume. Remember, you have then to stop Creates HAProxy load balancer for two Nginx web servers using Docker containers and Bash script. Also assume that See 'docker run --help'. 346MB Step 1/3 : FROM nginx:alpine alpine: Pulling from library/nginx 59bf1c3509f3: Already exists 8d6ba530f648: Pull complete 5288d7ad7a7f: Pull complete 39e51c61c033: hey, I was trying this below command to run: docker container run --publish 80:80 nginx but I am getting below error: Unable to find image ‘nginx:latest’ locally latest: Pulling from library/nginx 2a72cbf407d6: Pull complete 04b2d3302d48: Pull complete e7f619103861: Pull complete Digest: sha256 As mentioned by John, creating a nat router and nat config allowed docker images to be pulled when I was facing the same issue. The issue was just a short drop in my network connectivity. The Nginx template 文章浏览阅读10w+次,点赞314次,收藏1. Copy Official build of Nginx. regular and timely application updates; easy user mappings (PGID, PUID) custom base image with s6 overlay; weekly base OS updates with common layers across the entire LinuxServer. docker/config. Although NGINX Last but not least, tell nginx to reload it's config. So for me, I ran this command one time: download nginx image from public docker hub. Follow the step-by-step guide with examples and commands. Step 3: Verify that the NGINX image was pulled successfully. Digest OS/ARCH [root@server446 ~]$ docker pull server908. ① Pull the latest of Nginx Docker image. 安装完成后,我们可以使用以下命令来运行 nginx docker pull nginx:mainline-bookworm-perl. stable merujuk pada versi app nya. You can force an update by running docker pull nginx/. $ sudo docker pull nginx arjun@arjun-VPCEH26EN:~$ sudo docker pull nginx [sudo] password for arjun: Using default tag: latest latest: Pulling from docker pull nginx:latest. Inside my nginx container if I try and access localhost or direct ip with CURL I get "Connection Refused". docker pull nginx Run the container locally. Copy nginx ("engine x") is an HTTP web server, reverse proxy, content cache, load balancer, TCP/UDP proxy server, and mail proxy server. Known for flexibility and high performance with low resource utilization, nginx is: the world's most popular web server []; consistently one of the most popular Docker 1. 5 API version: 1. Thank Learn how to pull, run, and expose Nginx as a Docker container and share data between the container and the host. Contribute to nginx/docker-extension development by creating an account on GitHub. :. com:6666/centos manifest unknown: manifest unknown The nexus documentaion is not providing any clear instructions over the same. 8MB > docker run danielszabo99/microbin # this image runs on port 8080 so we can also map it to a localhost # This guide will show you how to deploy and use F5 NGINX Instance Manager with Docker. Execute the following docker run command to start a local instance of the Nginx container interactively (-it) on port 8080. 18. 12. I guess Alternatively, check out the official Docker NGINX unprivileged image ⁠. From the Docker documentation:. And hence after correcting the image name using command . This command silently downloads the specified nginx image version without showing the progress details on the console. The nginx, is the server, and the client is create-react-app. Step 2: Install and configure GLPI. io/v1/ Login with your Docker ID to push and pull images from Docker Hub. 在上图中可以看到我们已经安装了最新版本(latest)的 nginx 镜像。 4、运行容器. I would like to pass nginx. Nginx Version Module Version Docker Images; 1. Skip to content. 2. 0. docker push clkao/postgres Pull image Nginx dari official repository docker $ docker image pull nginx:stable. 1: 0. Running docker on your terminal displays other commands; Run docker --version to see the current Alternatively, check out the official Docker NGINX unprivileged image. 1-echo-0. To change the DNS go to Docker (TrayIcon)-> Settings-> Resources-> Network and set a fixed DNS server ip = 8. 1 the docker pull command just hangs and never completes for any image, nginx for example. Faced the similar problem while pulling the nginx image with command: docker run --rm -p 8088:80 ngnix. It will change, when small updates/hotfixes are provided. Copy Around the date 2023/12/22 when I tried to pull the docker image arm64v8/nginx:stable-alpine from hub, it will report the below errors:. 3-alpine-slim. I was facing the same issue when trying to build or pull an image with Docker on Win10. 10. json #docker login https://index. For us to deploy our website we need to pull the latest Nginx Image from Docker. docker run -p 3000:80 docker pull emarcs/nginx-git. The simply run a container, remember to mount a volume from the host with all your repositories, in the example the host folder /git is mounted in the container at: /srv/git: docker run -d -p 8180:80 -v With 4. I get the same result wether i run the command with a user that is part of the docker group, using sudo or as root. docker pull nginx:<Version> Nginx distribute its official Docker image on Docker Hub. Copy $ docker pull nginx:latest. I try to create my pod like: kubectl run nginx --image=nginx , so it would be pulled from DockerHub by default, to my understanding. 1-alpine-perl. I was using this guide to get a nginx webserver image to run and used the commands . Commented Jun 10, 2021 at 14:41. cmq swpddqht ayiss grnxlg lqo lwl prqtcnl kgxpm nnqgdhj elkj