docker学习
基本概念
docker不是容器,他是容器的创建工具
轻量级“虚拟机”
docker的核心 docker deamon
基本命令
1、 docker run :执行镜像
2、docker images:查看本地所有镜像
3、-p 端口映射 -d允许程序直接返回
4、docker ps 查看当前运行的容器
5、docker cp 文件 容器id://路径 :拷贝本地文件进入容器
6、docker stop 容器id
7、docker commit -m ‘备注’ 容器id 容器名字
8、docker rmi 容器id
9、docker rm 执行中的容器id
10、docker pull 获取images
11、docker build 创建images
Dockerfile
1、from :依赖镜像
2、docker build -t 容器名字 . :注意后面有一个点,关联上下文,实际上就是把这个路径底下所有的东西搞进去形成image -t 标签
懒得总结了,https://www.runoob.com/docker/docker-dockerfile.html
https://www.cnblogs.com/panwenbin-logs/p/8007348.html
Dockerfile每一行都产生一个新层
我常用的命令
docker exec -it 容器id bash
docker run -itd -v /etc/nginx/:/root 镜像id
docker ps
docker rm -f 容器id
docker logs 容器id
挂载后,“修改宿主机挂载的文件后,容器里被挂载的文件却没有改变”的解决方法:https://cloud.tencent.com/developer/article/1708294
挂载的意义:每一次启动容器,都会重置,挂载出来能减少每次重启容器的工作量。
curl http://localhost
run -d --name ngnix-test -v /etc/nginx nginx
docker inspect ngnix-test
** 反向挂载 **
docker creat -v 本机路径:容器需要挂载的路径 镜像id
docker run -it --volumes-from 容器name 新镜像id bash
是双向挂载还是单向?
** 镜像仓库**
Registry
docker search 镜像名 :在远程仓库搜索
docker pull 镜像名
docker push myname/myimage
docker login
** 多容器app**
docke-compose
就是一口气调起来好多个相互依赖的容器