黑马程序员Docker容器化技术,从零学会Docker教程


代码 “水土”不服
容器 环境+代码
软件跨环境迁移的问题


















1.持久化
2.一个容易可以挂载多个目录

使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。
docker run -p 80:80 -v /data:/data -d nginx:latest


c1 c2 c3可以通讯
docker ps -a
docker inspect c1
docker rm c1 c2 c3 c4
创建命令
docker run -it -name=c3 -v/volume centos:7
docker inspect c3
查看 key为Mounts属性中Source和Destination
docker run -it -name=c1 --volumes-from c3 centos:7
docker run -it -name=c2 --volumes-from c3 centos:7
在c3里面创建
touch a.txt
即时删除c3,c1,c2挂着之前c3的数据卷

docker使应用安装简洁



端口映射,外部机器访问3307就访问到容器3306

docker images

-e 设置环境变量
\命令没写完 可以下一个继续写 还是一条命令

登录mysql

用sqlyoung连接一下


目录映射 数据卷的挂载






项目写好,直接放到主机的source目录下


要准备一个文件 nigx的配置文件










在rootfs上做改动


基础镜像可以复用

只读 就是不能改

可以在容器里做修改





镜像不能传,镜像可以转成压缩文件传


-o output
-i input











包含了部分的改变


在hub.docker.com




发布到docker容器 需要写dockerfile

找到target目录

alt+p



4写错了是CMD java -jar app.jar


FORM改成FROM









通过dockfile构建镜像




根据镜像创建容器










使用nginx+springboot



vim 文件名

按i把内容复制
按Esc
:wq



退到这个目录下



文件是复制过来的,如果自己写的话,键值对中间有空格




注意 私有仓库服务器和当前使用的服务器是分开的

- -i: 以交互模式运行容器,通常与 -t 同时使用;








删除用id删除

报错了
容器关闭
重启容器








虚拟机已死 容器才是未来