文章目录
1.安装
docker的安装启动
开启docker
docker info 查看docker信息
docker的数据信息放在一下目录:
/var/lib/docker
1.1. 游戏2048安装
:
安装game2048
docker ps 是查看开启的服务
dockerps -a 是显示所有的服务
1.2.ubuntu安装
内核版本是宿主机的内核版本:
删除:
docker rm vm1
2.重构镜像操作
2.1 commit
重新再连接回去:
看它还在运行
将busybox建立的file文件保存在里边,下次打开的时候文件还在,不会消失
这种重构的方法看不到重构的内容不太好
2.2 常用dockerfile方式
建立目录docker 建立文件dockfile编辑:
查看:
3.docker----dockerfile 构建镜像的语法使用
3.1 copy
你要copy的文件需要和dockerfile在统计目录中****
vim Dockerfile 将testfile 文件 放入 busybox镜像中 /tmp中
运行查看结果:
3.2.add
使用时需要将拷贝的压缩包和dockfile在同级目录中,它在拷贝过去的同时也完成了解压
3.3 VOLUME ["/data"]
在镜像里新建/data 同时在 、 也新建 两个的data的内容是同步的
busybox 里的/data目录下的文件和一下目录下保持同步
指定volume位置挂载:
4.CMD ENTYRPOINT及dockerfile的两种格式
shell模式
exec 格式
[root@server1 docker]# vim dockerfile
FROM busybox
ENV name world
ENTRYPOINT ["/bin/echo", “hello, $name”]
[root@server1 docker]# docker build -t test:v5 . [root@server1 docker]# docker run --rm test:v5
hello, $name ##发现变量无法被解析
修改 dockerfile
ENTRYPOINT ["/bin/sh", “-c”, “echo hello, $name”]
[root@server1 docker]# docker build -t test:v6 . [root@server1 docker]# docker run --rm test:v6
hello, world ##成功解析
[root@server1 docker]# vim dockerfile
FROM busybox
ENTRYPOINT ["/bin/echo", “hello”]
CMD [“world”]
[root@server1 docker]# docker build -t test:v7 . [root@server1 docker]# docker run --rm test:v7
hello world ##当 docker run 命令行里没有指定命令时,CMD 会执行,有的话 CMD 命令就
会被覆盖
[root@server1 docker]# docker run --rm test:v7 westos
hello westos ##加上 westos 参数,会覆盖掉 world
'官方推荐使用 exec 格式