docker run --name:hello
镜像相关# 查看镜像docker images# 搜索镜像docker search# 删除所有镜像docker rmi `docker images -aq`容器相关# 创建容器交互式docker run -it --name:c1 -v /root/data:/root/data_container centos:7 /bin/bash# 后台创建docker run -id --name:c
·
镜像相关
# 查看镜像
docker images
# 搜索镜像
docker search
# 删除所有镜像
docker rmi `docker images -aq`
容器相关
# 创建容器交互式
docker run -it --name:c1 -v /root/data:/root/data redis:5.0 /bin/bash
# 后台创建
docker run -id --name:c1 -v /root/data:/root/data redis:5.0 /bin/bash
# 查看容器
docker ps -a
# 删除容器
docker rm c1
# 进入容器
docker exec -it name /bin/bash
# 启动容器停止
docker start c1
docker stop c1
数据卷
数据卷就是docker 容器(实例)和宿主机用户交换数据的目录,可以互相挂载。用 -v 参数指定挂在数据卷;
数据卷容器可以被继承,共享同一个数据卷
作用:
1. 持久化数据
2. 容器之间共享数据
# 创建数据卷容器
docker run -it --name=c3 -v /volume centos
# 创建容器挂在数据卷容器
docker run -it --name=c1 --volumes-from c3 centos
docker run -it --name=c2 --volumes-from c3 centos
docker 应用部署
- mysql 的部署:端口映射
# 拉取mysql 镜像 docker pull mysql:5.6 # 创建容器,挂载卷 docker run -id \ -p 3307:3306 \ --name=c_mysql \ -v $PWD/conf:/etc/mysql/conf.d \ -v $PWD/logs:/logs \ -v $PWD/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ mysql:5.6 # 进入容器 docker exec -it c_mysql /bin/bash
dockerfile
docker 镜像的原理
- docker镜像的本质是什么?
分层的文件系统 - centos 镜像为什么只有200M?
底层复用 - tomcat 镜像为毛500M?
多个镜像依赖叠加而成
linux文件系统组成:bootfs、rootfs
- bootfs:bootloader 和 kernel
- rootfs:root 文件系统/dev /proc /bin /etc
- 不同的发现版本bootfs 相同rootfs 不同
docker镜像
- 特殊的文件系统叠加而成
- 最底层使用的是宿主的bootfs
- tomcat—>jdk—>centos
docker 镜像创建
- 基于容器创建
# 创建镜像 docker commit 容器id 镜像名称:版本号 # 压缩镜像 docker save -o cwalle_tomcat.tar cwalle_tomcat:1.0 # 加载压缩镜像 docker load -i 压缩文件名称
- 基于dockerfile
docker build -f springboot_dockerfile -t app . # dokcerfile FROM java:8 MAINTAINER chauncey <chaunceywalle@163.com> ADD springboot-hello-0.0.1-SNAPSHOT.jar app.jar CMD java -jar app.jar
更多推荐
已为社区贡献1条内容
所有评论(0)