首先写一个直接启动可视化界面的命令:
docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock -- privileged=true portainer/portainer
解决ERROR 1130: Host ‘192.168.1.3’ is not allowed to connect to this MySQL server 方法
这个原因是因为docker内部的数据库没有设置外部访问权限
解决方案:
首先进入内部数据库:使用docker exec:
然后进入数据库命令界面: mysql -u root -p

然后先使用数据库:use mysql
再 show tables:
再改user表:将权限改为%
然后就可以连接成功了
测试:
然后是Dockefile:
我们首先自己写一个dockerfile:
FROM centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD echo "-------end------"
CMD /bin/bash
然后构建他:注意最后有个.
docker build -f /home/docker-test-volume/dockerfile1 -t kuangshen/centos .
然后我们启动两个容器互相挂载:
总结:
1、docker从基础镜像运行一个容器
2、执行一条指令并对容器做出修改
3、执行类似 docker commit 的操作提交一个新的镜像层
4、Docker再基于刚提交的镜像运行一个新容器
5、执行dockerfile中的下一条指令直到所有指令都执行完成!
DockerFile指令:
FROM # 基础镜像,当前新镜像是基于哪个镜像的
MAINTAINER # 镜像维护者的姓名混合邮箱地址
RUN # 容器构建时需要运行的命令
EXPOSE # 当前容器对外保留出的端口
WORKDIR # 指定在创建容器后,终端默认登录的进来工作目录,一个落脚点
ENV # 用来在构建镜像过程中设置环境变量
ADD # 将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
COPY # 类似ADD,拷贝文件和目录到镜像中!
VOLUME # 容器数据卷,用于数据保存和持久化工作
CMD # 指定一个容器启动时要运行的命令,dockerFile中可以有多个CMD指令,但只有最
后一个生效!
ENTRYPOINT # 指定一个容器启动时要运行的命令!和CMD一样
ONBUILD # 当构建一个被继承的DockerFile时运行命令,父镜像在被子镜像继承后,父镜像的
ONBUILD被触发
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/81012.html