-
Docker exec -it? 容器 /bin/base? 進入容器地址
掛載:
第一種
把Docker_host宿主機容器地址掛載到nginx容器的/usr/share/nginx/html
docker run -v -d? --name /usr/share/nginx/html? nginx
第二種
把本地的目錄掛載到容器的數(shù)據(jù)目錄
Docker run -v $PWD/code :/usr/share/nginx/html?nginx
第三種(實現(xiàn)多容器掛載,數(shù)據(jù)共享)
創(chuàng)建用于存放數(shù)據(jù)的目錄;創(chuàng)建只用于存放數(shù)據(jù)的容器,把數(shù)據(jù)目錄掛載到容器;
docker create -v $PWD/code:/var/mycode --name ""? 鏡像
運行容器,并掛載到已創(chuàng)建,掛載的容器,實現(xiàn)多容器掛載(容器與容器的掛載)
Docker run --valumes-from 容器? 鏡像 /bin/base(掛載并進入到鏡像地址)
查看全部 -
Dockerfile 語法
FORM base? base iamge?
RUN
ADD
COPY????
CMD????執(zhí)行命令
EXPOSE????暴露端口
查看全部 -
常用命令
Docker pull 獲取鏡像(image)
Docker build 創(chuàng)建image
Docker images 列出image
Docker run? 運行container
docker ps? 列出container
查看全部 -
Docker中文架構(gòu)
查看全部 -
Docker架構(gòu)
client的操作是通過Docker deamon進行的
Docker_host:(進行操作的Docker宿主機)----核心(Docker deamon)--images(鏡像的下載與操作的主要容器)---Container(操作的環(huán)境容器)
查看全部 -
【docker命令小結(jié)】
獲取image docker pull
創(chuàng)建image docker build
列出image docker images
刪除image????docker rmi
提交image????docker commit
在主機和容器間拷貝文件????docker cp
運行容器????docker run
中止容器????docker stop
列出容器????docker ps
刪除容器????docker rm
查看全部 -
【docker】Linux下的安裝
1、sudo wget -qO- https://get.docker.com?| sh?
2、 sudo usermod -aG docker <username> (將指定用戶加入docker組中,免管理員權限啟動)
查看全部 -
查看全部
-
IDEA創(chuàng)建springboot項目部署到遠程Docker
環(huán)境:jdk,maven
Dockerfile文件內(nèi)容如下:
FROM java:8
MAINTAINER mfl
VOLUME /tmp
ADD ./spring-boot-docker-test-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
FROM 指定此docker需要依賴的docker image,由于這是一個spring boot項目,故要運行一個spring boot項目,必須得要有jdk,而上面寫的java:8這個鏡像中包含了一套擁有jdk的環(huán)境,可以此環(huán)境中運行java程序
VOLUME 用來指定docker運行的臨時目錄。它將在主機 /var/lib/docker 目錄下創(chuàng)建了一個臨時文件,并鏈接到容器的/tmp。/tmp目錄用來持久化到 Docker 數(shù)據(jù)文件夾,因為 Spring Boot 使用的內(nèi)嵌 Tomcat 容器默認使用/tmp作為工作目錄
ADD 是將pom.xml中的targetPath下的docker-study.jar復制到容器中,并命名為app.jar, ./指當前目錄,可以自己定義目錄都行
ENTRYPOINT 指定了容器啟動時要執(zhí)行的命令。那么這里就是執(zhí)行java -jar /app.jar的意思,意思就是去運行這個springBoot項目了
————————————————
可執(zhí)行???mvn?clean?package?docker:build,但是很費時間
需要將項目jar包拷貝到dock文件夾(自己隨便建的),并在上層創(chuàng)建Dockerfile文件(上面有Dockerfile具體配置)
制作鏡像:docker build -t springboot-demo .? ? ??-t就是給image標簽,后面跟標簽名
啟動docker:docker run -d -p 8081:8080 springboot-demo
? ??
-d
參數(shù)是讓容器后臺運行? -p
?是做端口映射,此時將服務器中的8081端口映射到容器中的8080端口查看全部 -
官方 docker hub 網(wǎng)站??梢钥吹阶约旱膇mage。
在docker push之前,需要 docker login 登陸這個網(wǎng)站
查看全部 -
下載的時候,一層一層的下載。下載順序,不一定是層級順序,可以同時下載多層。
圖上的hashcode,就是層的id
查看全部 -
docker啟動重啟命令
啟動步驟:
1、啟動Docker 守護進程
? ? ? systemctl daemon-reload
?
2、Docker啟動命令:
systemctl start docker
?
3、查看docker服務是否啟動
ps -ef |grep docker
?
4、查看docker啟動的服務:
? ? ?docker ps
?
其他:
重啟docker服務
systemctl restart docker
停止docker服務
systemctl stop docker
查看全部 -
第二個Dockerfile創(chuàng)建
常用語法:
查看全部 -
用Dockerfile的方式自創(chuàng)docker鏡像:
1、創(chuàng)建文件夾?d1
2、創(chuàng)建文件Dockerfile(一般都是這個名字)
3、編輯Dockerfile:
????? FROM?alpine:latest
????? MAINTAINER mfl
? ? ? CMD echo "Hello Docker!"
4、構(gòu)建新的image
? ? docker build -t hello_docker .
? ?-t就是給image標簽,叫hello_docker
? ? .就是一個路徑,把這個路徑底下所有的內(nèi)容都賦給docker來產(chǎn)生 image?
5、docker images hello_docker? 查看是否生成了這個image,tag默認自動為latest
6、docker?run?hello_docker?運行
pom.xml文件配置:
<build> ????<plugins> ????????<plugin> ????????????<groupId>org.springframework.boot</groupId> ????????????<artifactId>spring-boot-maven-plugin</artifactId> ????????</plugin> ????</plugins> </build>
查看全部 -
docker的container和image之間的關系
問題一:Image與Container之間的聯(lián)系?
答:鏡像的概念更多偏向于一個環(huán)境包,這個環(huán)境包可以移動到任意的Docker平臺中去運行;而容器就是你運行環(huán)境包的實例。你可以針對這個環(huán)境包運行N個實例。換句話說container是images的一種具體表現(xiàn)形式。你也可以認為鏡像與你裝載操作系統(tǒng)iso鏡像是一個概念,容器則可理解為鏡像啟動的操作系統(tǒng)。一個鏡像可以啟動任意多個容器,即可以裝載多個操作系統(tǒng)。(類比,image是鏡像,container是操作系統(tǒng))
問題二:為什么Docker?info顯示有一個容器,而docker?ps確看不到?答:“docker?ps”默認只會顯示正在運行的容器,如果你要看所有的則需要使用“docker?ps?-a”;"docker?info"中的數(shù)量顯示的是容器總數(shù)。
?問題三:鏡像與容器的先后順序是什么?
答:當然是先有鏡像再有實例了,雖然創(chuàng)建鏡像可以參考某個容器,但是標準的做法是先制作鏡像然后再跑容器。
查看全部
舉報