> For the complete documentation index, see [llms.txt](https://frost.gitbook.io/iosbook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://frost.gitbook.io/iosbook/jenkins-1/jenkins/docker-1.-setup-jenkins-with-docker-on-mac.md).

# \[Docker] 1. Setup Jenkins with Docker on Mac

### (1.) Download Docker for Mac

Download link:

{% embed url="<https://www.docker.com/products/docker-desktop>" %}

###

### (2.) Download Jenkins CI with blue ocean plugin.

Download link:

&#x20;<https://hub.docker.com/r/jenkinsci/blueocean/>

Follow the installation instructions to install the **jenkinsci/blueocean** Docker container.&#x20;

### (3.)  Start the Jenkins CI container

```swift
$ docker run --name jenkins -u root -d -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean
```

Command options:

```swift
--name 
container name

-d 
is to let jenkinsci container run in background and silent the output rather
than print out in terminal console. 

-p 8080:8080 
is the to map the port number for host machine and docker container respectively.
(Service port : Jenkins port)

-p 50000:50000 
is for the JNLP based Jenkins master-slave configurations.
JNLP-based Jenkins agents communicate with the Jenkins master through TCP port 50000 by default.

-v jenkins-data:/var/jenkins_home 
is to map the /var/jenkins_home directory in the container to the Docker 
volume with the name jenkins-data, this option is to ask Jenkins to persist 
state for instance restarts. -v /var/run/docker.sock:/var/run/docker.sock, 
this option is to allow jenkins ci container to communicate with docker 
daemon.  jenkinsci/blueocean is the jenkinsci image with blueocean plugin, 
specifying this option will automatically pull any updates.  
```

After start Jenkins, you can use the below command to check the container status:

```swift
docker ps -a
```

![](/files/-LYUULNw_5413n6m6Xdg)

Docker commands:

```swift
//start a container:
docker start <container name>

//stop a container:
docker stop <container name>

//remove a container:
docker rm <container name>

//restart a container:
docker restart  <container name>
```

#### (4.) Browse <http://localhost:8080/> , you will see below page.

![](/files/-LYUgd6ry4AOURp0U2p4)

####

#### ( 5.) Find the password by below command

```swift
docker exec <container> cat /var/jenkins_home/secrets/initialAdminPassword
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://frost.gitbook.io/iosbook/jenkins-1/jenkins/docker-1.-setup-jenkins-with-docker-on-mac.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
