国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

docker制作鏡像方法是怎樣的?docker研發(fā)日常制作

發(fā)布時(shí)間:2022-05-25 07:54 來(lái)源:新網(wǎng) 閱讀:192 作者:網(wǎng)絡(luò ) 欄目: 虛擬主機 歡迎投稿:712375056

??包含了三個(gè)概念,分別是鏡像,倉庫和,其中鏡像是docker運行容器的一個(gè)重要的前提,更是docker的核心,倉庫就是存放鏡像的地方。docker鏡像就好像是一個(gè)特殊的文件系統,它除了提供容器運行的程序,資源,配置和庫等的文件之外,還包括了一些需要的配置參數,那么docker制作鏡像方法是怎樣的?docker研發(fā)日常制作鏡像操作是怎樣的呢?下面就給朋友們詳細的來(lái)說(shuō)明一下這些問(wèn)題。
??docker制作鏡像方法是怎樣的?
??docker制作鏡像一般有2種方法:
??使用hub倉庫中已有的環(huán)境,安裝自己使用的軟件環(huán)境后完成image創(chuàng )建。
??通過(guò)Dockerfile,完成鏡像image的創(chuàng )建。
??第一種:使用hub倉庫中已有的環(huán)境,安裝自己使用的軟件環(huán)境后完成image創(chuàng )建。
??制作自己的Docker鏡像環(huán)境,里面包括:
??(1)centos
??(2)golang
??1、docker pull centos(pull最新的centos系統)
??2、docker run -it centos /bin/bash(運行進(jìn)入容器)
??3、在centos環(huán)境中創(chuàng )建work用戶(hù)
??[root@132aaafe685d /]# useradd work
??[root@132aaafe685d /]# su - work
 
docker制作鏡像
??4、下載go的Linux安裝包,解壓,配置環(huán)境變量
??[work@132aaafe685d ~]$ mkdir go && cd goapp && wget http://wap.friendlycc.com.cn/
??[work@132aaafe685d goapp]$ tar zxvf go1.14.1.linux-amd64.tar.gz
??[work@132aaafe685d goapp]$ vim ~/.bash_profile
??[work@132aaafe685d go]$ source ~/.bash_profile
??[work@132aaafe685d go]$ go version
??go version go1.14.1 linux/amd64
??[work@132aaafe685d go]$ echo $GOPATH
??/home/work/goapp
??[work@132aaafe685d go]$ echo $HOME
??此時(shí),go的最基礎環(huán)境就算配置好了,讓我們寫(xiě)一個(gè)go程序,運行一下吧。
??5、go 實(shí)現"Hello World!"
??[work@132aaafe685d ~]$ vim /home/work/goapp/src/main.go
??6、go run main.go
??[work@132aaafe685d ~]$ go run /home/work/goapp/src/main.go
??Hello World!
??7、docker commit -m "xxx" -a "authorName" containerID hub的名稱(chēng)/鏡像名稱(chēng):tag
??8、docker commit && push到遠端倉
??C:UsersAdministrator>docker commit -m "centos and go env" -a "wenhan" 132aaafe685d zhangwenhan/gobox:v1
??sha256:2f74c2d19210cc38da7267e5e8922dbafc1f33d9bf26ff01b27f335d9e6e8dec
??C:UsersAdministrator>docker login
??Authenticating with existing credentials...
??Login Succeeded
??9、查看http://wap.friendlycc.com.cn/
??10、如果要打包報錯到本地
??docker save -o D:DockerDesktopvm-dataDockerDesktopeboxsunny_gobox.tar zhangwenhan/gobox:v1.0
??第二種:通過(guò)Dockerfile,完成鏡像image的創(chuàng )建。
??1、創(chuàng )建鏡像所在文件夾 Dockerfile文件
??(1)mkdir ebox && cd ebox
??(2)touch Dockerfile
??2、在Dockerfile文件中寫(xiě)入指令
??FROM ubuntu
??RUN apt-get update && apt-get install -y ruby ruby-dev
??格式說(shuō)明:
??每行命令都是以 INSTRUCTION statement 形式,就是命令 清單的模式。命令要大寫(xiě),“#”是注解。
??FROM 命令是告訴docker 我們的鏡像什么。
??RUN 命令是在鏡像內部執行。就是說(shuō)他后面的命令應該是針對鏡像可以運行的命令。
??3、創(chuàng )建鏡像
??命令:docker build -t zhangwenhan/ebox:v2 .
??docker build 是docker創(chuàng )建鏡像的命令
??-t 是標識新建的鏡像屬于 zhangwenhan的
??ebox是倉庫的名稱(chēng)
??:v2 是tag
??"."是用來(lái)指明 我們的使用的Dockerfile文件當前目錄的
??4、創(chuàng )建完成后,從鏡像創(chuàng )建容器
??docker run -t -i zhangwenhan/ebox:v2 /bin/bash
??Docker研發(fā)日常制作鏡像操作
??一、編寫(xiě)NginxDemo Dockerfile
??# Version 0.1
??# 基礎鏡像
??FROM nginx
??# 維護者信息
??MAINTAINER Mr.Hao@51hsw.com
??# 將容器的工作目錄設置為/app(當前目錄,如果/app不存在,WORKDIR會(huì )創(chuàng )建/app文件夾)
??WORKDIR /app
??# 鏡像操作命令
??RUN xxxx
??# 容器啟動(dòng)命令
??#指定nginx配置項目,--from=builder 指的是從上一次 build 的結果中提取了編譯結果(FROM node:alpine as builder),即是把剛剛打包生成的dist放進(jìn)nginx中
??COPY --from=builder app/nginx.conf /etc/nginx/nginx.conf
??#暴露容器80端口
??EXPOSE 80
??二、編譯、安裝日常操作
??編譯
??# xx項目 1.0 tag(標簽或版本)
??docker build -t xx:1.0
??查看
??#待上面命令執行完成
??docker images |grep xx
??#查看全部鏡像
??docker images
??運行
??#使用xx-project進(jìn)行運行 8080:本機使用訪(fǎng)問(wèn)的端口 80:Docker內啟動(dòng)的端口 xx-project-docker:指定啟動(dòng)之后容器名稱(chēng) xx-project:1.0 鏡像名稱(chēng)(由上面命令獲得或者第一個(gè)命令 -t 的參數值)
??docker run -p 8080:80 -d --name xx-project-docker xx-project:1.0
??打包為tar
??docker save -o xx-project.tar xx-project:1.0
??加載tar包到其它docker環(huán)境
??#執行load,將.tar壓縮文件加載到線(xiàn)上鏡像
??docker load --input /home/root/xx-project.tar
??推送docker鏡像到harbor
??#初始
??docker tag xx-project:1.0 core.harbor.domain:5000/xx-project/xx-project:1.0
??#推送
??docker push core.harbor.domain:5000/xx-project/xx-project:1.0
 
docker制作鏡像
??三、停止、刪除相關(guān)操作
??查看所有運行的容器
??#列出所有的容器 ID
??docker ps -aq
??#列表進(jìn)程
??docker ps -a
??殺掉某個(gè)容器
??#kill 指定容器
??docker kill 容器ID 容器ID 容器ID ...
??#stop 指定容器
??docker stop 容器ID 容器ID 容器ID ...
??#停止所有容器
??docker stop $(docker ps -aq)
??刪除容器
??#刪除指定容器
??docker rm 容器ID
??#強刪除
??docker rm -f 容器ID
??#刪除所有容器
??docker rm $(docker ps -aq)
??#強刪除所有容器
??docker rm -f $(docker ps -aq)
??刪除鏡像
??#查詢(xún)所有鏡像
??docker images
??#刪除指定鏡像
??docker rmi 鏡像ID
??#強刪除
??docker rmi -f 鏡像ID
??#刪除所有鏡像
??docker rmi $(docker images -q)
??#強刪除所有鏡像
??docker rmi -f $(docker images -q)
??其它清空快捷操作
??# 清空所有不使用的鏡像
??docker image prune --force --all
??# 或
??docker image prune -f -a
??# 清空所有停止的容器
??docker container prune -f
??awk刪除操作
??#停止容器
??docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }')
??#刪除容器
??docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }')
??#刪除鏡像
??docker rmi $(docker images | grep "none" | awk '{print $3}')
??管理image鏡像難嗎? 需要哪些依賴(lài)?
??管理image鏡像難嗎?
??docker cli提供了豐富的api接口, 可以非常方便地操作image鏡像。
??需要哪些依賴(lài)?
??安裝docker的系統(Windows或者Linux)。
??一旦容器從鏡像啟動(dòng)后,二者之間就變成了互相依賴(lài)的關(guān)系,并且在鏡像上啟動(dòng)的容器全部停止之前,鏡像是無(wú)法被刪除的。嘗試刪除鏡像而不停止或銷(xiāo)毀使用它的容器,會(huì )導致出錯。
??docker制作鏡像方法是怎樣的?大家在使用docker制作鏡像的時(shí)候,就可以按照上面的步驟去操作,這個(gè)步驟有些復雜,需要一點(diǎn)點(diǎn)的去理解和操作,對于docker研發(fā)日常制作鏡像操作方法,我們也可以去了解一下,如果大家還有什么不明白的問(wèn)題,都可以咨詢(xún)特網(wǎng)的專(zhuān)業(yè)工作人員。



免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

免费看成人A级毛片| 白丝美女被狂躁免费视频网站| 国产av无码专区亚汌a√| 精品久久久久中文字幕一区| 男女性爽大片视频| 国产日产韩国精品视频|