docker镜像源

任然不行?

彻底解决docker:docker: Get https://registry-1.docker.io/v2/: net/http: request canceled 报错-CSDN博客

注意端口号后面加一个/

基础知识

一次下载,多次运行:运行镜像就创建一个新的隔离环境,即容器,互不干扰

启动的docker就是docker server,是一个守护进程,一直等待用户输入命令,一旦输入就会先判断本地是否有镜像,没有就去仓库获取(pull)

忽略了系统和环境的差异

  • 什么是镜像?

将应用所需的函数库、依赖、配置等与应用一起打包得到的就是镜像

  • 什么是容器?

为每个镜像的应用进程创建的隔离运行环境就是容器

  • 什么是镜像仓库?

存储和管理镜像的服务就是镜像仓库,

DockerHub是目前最大的镜像仓库,其中包含各种常见的应用镜像

容器也有自己的IP和端口,但是对外隔离,外界无法访问

于是将其进行映射到宿主机上,直接访问宿主机的端口就能访问服务

Docker命令详见官方文档:Docker Docs

docker pull:拉取镜像

docker images:查看本地镜像

docker rmi:删除镜像

docker build:自己建立镜像

docker save:镜像压缩

docker push:上传至仓库

docker ps:查看容器运行情况 ps -a:查看所有容器

docker run:每次都会创建一个容器

docker start:启动,不会创建容器

docker rm:删除容器

docker logs:查看日志 -f :持续查看

docker exec:进入容器 -it:添加终端

每一个容器会有其必要的最小化的”系统“,可以看作一个特制的最小的系统

docker inspect:查看容器详情

数据卷

默认双向绑定!!!

docker run -d --name nginx -p 80:80 -v html:/user/share/nginx/html nginx
CSS

自定义镜像

镜像不是只有一整个文件,而是分层的,是很多个压缩包组成了一个镜像

这样就可以复用一些基础的,共用的层,在以后构建镜像时就不用再重头开始了,直接从共用的最后一步开始就行

点之前是有一个空格的!!!

网络

但是这种自动分配到的ip,一旦容器重启,就可能改变,所以是不推荐使用的

所以推荐使用自定义的网络来让容器之间互相访问

注意这样可以通过容器名来互相访问,十分方便

创建时就加入网络: --network

dockercompose

前后端什么玩意全部当做个整体一起部署

多容器部署

-d : 后台运行