1021 docker經常使用命令和Jenkins搭建

docker經常使用命令

1.鏡像管理

docker pull (鏡像名)    # 默認拉取最新版本的鏡像
docker pull (鏡像名:版本號)    #拉取指定版本的鏡像
docker push (鏡像名)    # 推送鏡像
docker images    # 查看當前機器的全部鏡像
docker rmi 鏡像名    #刪除一個鏡像
docker tag 源鏡像名:版本號 自定義鏡像名:版本號     # 爲一個鏡像打tag
docker save busybox > busybox.tar    # 製做鏡像 
docker load < busybox.tar    # 導入鏡像

給鏡像重命名tag只是在原來的鏡像上創建了一個軟鏈接,刪除鏡像也只是刪除tag,直到只剩原鏡像 <img src="https://img2018.cnblogs.com/blog/1418970/201811/1418970-20181102171940028-2120861955.png" width="700" />docker

2.容器管理

free -h    #查看宿主機存儲空間
# 運行容器
# 容器運行時的參數
#--name 指定容器名稱 -d 後臺運行 -p 指定端口映射規則
#--networkd 指定容器運行的網絡模式 -v 指定須要掛載的數據卷
#-e 指定須要傳遞給容器的環境變量 進入交互,env|grep 環境變量 查看環境變量是否傳入成功
docker run jenkins    #直接運行
docker run -d jenkins    #後臺運行
docker run -d --name (容器名) (鏡像名)    #指定容器name運行
docker stop (容器名) #中止容器
docker kill (容器名)    #殺死容器
docker rm (容器名)
docker rm -f (容器名)     #強行刪除容器
docker ps    #列出運行的容器
docker ps -a    #列出全部的容器
docker ps -a -s    #列出全部容器及佔用硬盤空間

<img src="https://img2018.cnblogs.com/blog/1418970/201811/1418970-20181102191832493-1530842209.png" width="600" /> <img src="https://img2018.cnblogs.com/blog/1418970/201811/1418970-20181102192255970-1579189588.png" width="600" /> CONTAINER ID:容器的id,惟一 IMAGE:使用的鏡像 COMMAND:啓動容器的腳本 CREATED:建立的時間 STATUS:當前容器的狀態 PORTS:當前容器對外暴露的端口號 NAMES:指定的name ## 3.查看信息命令 ```#shell #查看日誌 docker logs (容器id) docker logs (容器名) #日誌實時滾動 docker logs -f ${CONTAINER ID} docker logs -f (容器名稱) docker info #查看docker服務的信息 docker inspect (容器名稱) #查看容器的元數據 docker stats 容器名 #查看容器當前佔用的資源,如CPU,內存 ``` ## 4.容器交互命令 ```#shell docker exec -it 容器名 bash docker exec 容器名 echo "hello world" docker exec 容器名 ping www.baidu.com docker cp path/file 容器名:/path ``` ## 5.端口映射 宿主機端口號:容器端口號 ```#shell docker run -d --name csjjenkins jenkins #啓動的容器網絡並未對外暴露,在用網絡名稱空間隔離着,不能訪問。 ``` 端口映射:把容器網絡的端口映射到宿主機上,將訪問宿主機某個端口的網絡流浪包轉發給容器,間接達到通訊的目的。 ```#shell docker run -d --name csjjenkins -p 8080:8080 jenkins ``` 第一次啓動Jenkins,須要填入初始化密碼 <img src="https://img2018.cnblogs.com/blog/1418970/201811/1418970-20181102195823289-1524182657.png" width="400" /> <img src="https://img2018.cnblogs.com/blog/1418970/201811/1418970-20181102195858622-1077077103.png" width="500" />shell

6.文件掛載

持久化或數據保存能力:防止容器掛掉或被人誤刪致使數據丟失,須要經容器中的數據保存到本地。bash

docker run -d --name csjjenkins -p 8080:8080 -v /Users/chenshanju/Desktop/docker/images/csjjenkins_home:/var/jenkins_home jenkins

FAQ

1.刪除容器

先中止容器 docker stop ${CONTAINER ID} docker stop ${NAMES} 刪除容器 docker rm -f ${CONTAINER ID} docker rm -f ${NAMES}網絡

2.掛載時遇到的權限問題

須要修改下目錄權限,由於當映射本地數據卷時,/Users/chenshanju/Desktop/docker/images/csjjenkins_home目錄的擁有者是chenshanju,而容器中Jenkins用戶的uid爲1000 用戶身份不一致會致使權限問題 1.chmod 777 /csjjenkins_home 2.sudo chown -R 1000:1000 /User/chenshanju/Desktop/docker/images/csjjenkinsui

相關文章
相關標籤/搜索