-
Docker exec -it 容器 /bin/base 进入容器地址
挂载:
第一种
把Docker_host宿主机容器地址挂载到nginx容器的/usr/share/nginx/html
docker run -v -d --name /usr/share/nginx/html nginx
第二种
把本地的目录挂载到容器的数据目录
Docker run -v $PWD/code :/usr/share/nginx/html nginx
第三种(实现多容器挂载,数据共享)
创建用于存放数据的目录;创建只用于存放数据的容器,把数据目录挂载到容器;
docker create -v $PWD/code:/var/mycode --name "" 镜像
运行容器,并挂载到已创建,挂载的容器,实现多容器挂载(容器与容器的挂载)
Docker run --valumes-from 容器 镜像 /bin/base(挂载并进入到镜像地址)
查看全部 -
Dockerfile 语法
FORM base base iamge
RUN
ADD
COPY
CMD 执行命令
EXPOSE 暴露端口
查看全部 -
常用命令
Docker pull 获取镜像(image)
Docker build 创建image
Docker images 列出image
Docker run 运行container
docker ps 列出container
查看全部 -
Docker中文架构
查看全部 -
Docker架构
client的操作是通过Docker deamon进行的
Docker_host:(进行操作的Docker宿主机)----核心(Docker deamon)--images(镜像的下载与操作的主要容器)---Container(操作的环境容器)
查看全部 -
【docker命令小结】
获取image docker pull
创建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创建springboot项目部署到远程Docker
环境:jdk,maven
Dockerfile文件内容如下:
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的环境,可以此环境中运行java程序
VOLUME 用来指定docker运行的临时目录。它将在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。/tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录
ADD 是将pom.xml中的targetPath下的docker-study.jar复制到容器中,并命名为app.jar, ./指当前目录,可以自己定义目录都行
ENTRYPOINT 指定了容器启动时要执行的命令。那么这里就是执行java -jar /app.jar的意思,意思就是去运行这个springBoot项目了
————————————————
可执行 mvn clean package docker:build,但是很费时间
需要将项目jar包拷贝到dock文件夹(自己随便建的),并在上层创建Dockerfile文件(上面有Dockerfile具体配置)
制作镜像:docker build -t springboot-demo . -t就是给image标签,后面跟标签名
启动docker:docker run -d -p 8081:8080 springboot-demo
-d
参数是让容器后台运行-p
是做端口映射,此时将服务器中的8081端口映射到容器中的8080端口查看全部 -
官方 docker hub 网站。可以看到自己的image。
在docker push之前,需要 docker login 登陆这个网站
查看全部 -
下载的时候,一层一层的下载。下载顺序,不一定是层级顺序,可以同时下载多层。
图上的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创建
常用语法:
查看全部 -
用Dockerfile的方式自创docker镜像:
1、创建文件夹 d1
2、创建文件Dockerfile(一般都是这个名字)
3、编辑Dockerfile:
FROM alpine:latest
MAINTAINER mfl
CMD echo "Hello Docker!"
4、构建新的image
docker build -t hello_docker .
-t就是给image标签,叫hello_docker
.就是一个路径,把这个路径底下所有的内容都赋给docker来产生 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之间的联系?
答:镜像的概念更多偏向于一个环境包,这个环境包可以移动到任意的Docker平台中去运行;而容器就是你运行环境包的实例。你可以针对这个环境包运行N个实例。换句话说container是images的一种具体表现形式。你也可以认为镜像与你装载操作系统iso镜像是一个概念,容器则可理解为镜像启动的操作系统。一个镜像可以启动任意多个容器,即可以装载多个操作系统。(类比,image是镜像,container是操作系统)
问题二:为什么Docker info显示有一个容器,而docker ps确看不到?答:“docker ps”默认只会显示正在运行的容器,如果你要看所有的则需要使用“docker ps -a”;"docker info"中的数量显示的是容器总数。
问题三:镜像与容器的先后顺序是什么?
答:当然是先有镜像再有实例了,虽然创建镜像可以参考某个容器,但是标准的做法是先制作镜像然后再跑容器。
查看全部
举报