$ docker run -t -i -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker busybox sh
docker run \
--name jenkins-docker \
--restart unless-stopped \
--detach \
--privileged \
--network jenkins \
--network-alias docker \
-h docker \
--env DOCKER_TLS_CERTDIR=/certs \
--volume /myJenkins/jenkins-docker-certs:/certs/client \
--volume /myJenkins/jenkins-data:/var/jenkins_home \
--volume /myJenkins:/myJenkins \
--publish 2376:2376 \
docker:dind \
--storage-driver overlay2
Note: if you get failed with the following messages, then change port --publish <Change_port_here>:2376
docker: Error response from daemon: driver failed programming external connectivity on endpoint jenkins-docker (0c2ab5e2c0da2cdb80a70c44ff566863378dddd022aa9170eff0ec4b95859e0c): Bind for 0.0.0.0:2376 failed: port is already allocated.
- After that, you run your container. And you coud run docker in your container like
docker ps
docker run \
--name jenkins-blueocean \
--restart unless-stopped \
--detach \
--network jenkins \
-h jenkins \
--env DOCKER_HOST=tcp://docker:2376 \
--env DOCKER_CERT_PATH=/certs/client \
--env DOCKER_TLS_VERIFY=1 \
--publish 8080:8080 \
--publish 50000:50000 \
--volume /myJenkins/jenkins-data:/var/jenkins_home \
--volume /myJenkins/jenkins-docker-certs:/certs/client:ro \
--volume /myJenkins:/myJenkins \
myjenkins-blueocean:1.1