1、可视化
- portainer
Dokcer图形化界面管理工具,提供一个后台面板供我们操作
docker run -d -p 8088:9000 \ --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
访问测试:ip+端口号
2、Docker镜像详解
镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码,运行时库、环境变量和配置文件。
2.1 如何得到镜像
- 远程仓库下载
- 拷贝
- 自己制作一个镜像DockerFile
2.2 提交一个镜像
# docker commit 提交一个容器成为副本
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:tag
标签
3、容器数据卷
数据卷技术:将容器中产生的数据,同步到本地!也就是目录挂载。
# 方法一:直接使用命令挂载 -v
docker run -it -v 主机目录:容器内目录 // 主机没有的话会创建
docker inspect 容器id // 查看 Mounts 看是否挂载成功
好处:以后修改只需在本地进行,无需进入容器
容器数据卷命令 volumes
# 查看所有卷的情况
docker volume ls
# 方法二:进行匿名挂载 -v 容器内目录
docker run -d -P --name mysql00 -v /etc/nginx mysql
wulc@ubuntu:~$ docker volume ls
DRIVER VOLUME NAME
local 8054b95bed702945274f1cf214ed9741c18b1031a00fb668114d917aada34833
# 方法三:进行具名挂载 -v 卷名:容器内路径
docker run -d -P --name mysql01 -v name-mysql:/etc/nginx mysql
wulc@ubuntu:~$ docker volume ls
DRIVER VOLUME NAME
local 8054b95bed702945274f1cf214ed9741c18b1031a00fb668114d917aada34833
local 94924e0ad820c2823a11dab3cdc34e2983af0ea114257a7c1194b8255c1faf7e
local name-mysql
# 查看卷
docker volume inspect name-mysql
# 没有指定本机路径的卷一般都是挂载在本机 /var/lib/docker/volumes/xxx/_data
4、简单地Dockerfile
通过脚本可以生成镜像
# 简单的dockerfile
FROM centos
VOLUME ["volume01", "volume02"] // 自定义挂载数据卷,匿名挂载
CMD echo "----end----"
CMD /bin/bash
# 通过dockerfile 创建镜像
docker build -f dockerfile01 -t centos/centos:01 .
5、容器间数据通讯
# 挂载容器01的数据卷到容器02
# 容器01需要有挂载的数据卷,容器02对01的数据卷是拷贝的关系
docker run -it --name docker02 --volume-from docker01 centos:1.0
6、详细的dockerfile
构建步骤:
1、编写一个dockerfile文件
2、docker build 构建一个镜像
3、docker run 运行镜像
4、docker push 发布镜像