(下面是目录,点击可快速跳转指定内容)
Docker镜像和容器的关系
镜像是模板、容器是模板实例,类似于 win10操作系统镜像 和安装win10操作系统的电脑,镜像下载需要到docker-hub官网查找 docker hub官网
如图,不登录不注册 只需要在箭头指向的框输入需要的镜像,如nginx等,搜索页面出来后选择official(官方),进入明细页有详细拉取镜像命令。
- docker pull 镜像名:版本 #拉取镜像
- docker images #查看镜像
- docker rmi 镜像id #删除镜像
所有的docker操作均需要root权限
宿主机即为服务器,容器是虚拟化出来的docker容器,寄生于宿主机服务器上
查看容器运行状况
- docker ps -a # 查看所有容器(包括运行和停止的容器)
- docker ps 只查看正在运行的容器
- docker stop/restart 容器id 停止/重启容器 (docker-compose方式启动容器不能使用此命令来启停容器)
- docker rm 容器id 删除容器
执行开机自启动命令
- docker update --restart=always 918835595cd3(对应上方显示效果的CONTAINER ID)
查看线上日志
- docker logs –f --tail 行数 容器id | grep 筛选信息
查看时间节点日志
- docker logs --since 30m a37781a7d629
查看容器ID为 a37781a7d629 最近30分钟的日志
Ip地址冲突
docker容器在默认情况下会为容器配置 172.17.0.0/16 网段,此网段主机会影响IP地址冲突,docker不检测ip冲突,实际会影响到使用,在实际使用中需要在docker-compose.yml文件创建新的网段,同时在docker-compose.yml为容器配置新创建的网段。如下图
Docker网桥查看(上文网络查看)
- docker network ls
如图既可以看到刚刚创建的网桥(网段信息)
查看该网桥具体信息:
- docker inspect docker_compose_some_network
- 上图可以看到每个容器的ip 地址信息
docker stats
容器本身也是一个迷你版linux,支持少部分命令,如ls、cat、vi,进入容器执行命令
docker exec -it 容器id /bin/bash
(不推荐在容器内部操作任何东西,如需操作见下文挂载/文件)
挂载目录/文件 即为将宿主机的目录/文件 挂载到容器内部,具体可在docker-compose.yml配置
如图框中 : 作为分割宿主机和容器, :前代表宿主机目录, :后代表容器内的目录
上图的意思即为将宿主机docker-compose.yml所在的当前目录下的某个文件 挂载到容器内的/usr/share/nginx/html目录下。其他诸如宿主机和容器内的文件互相拷贝,如宿主机文件拷贝到容器 docker cp 宿主机文件路径 容器id: 宿主机路径;容器拷贝到宿主机 docker cp 容器id:容器路径 宿主机路径 这两种方式极力不推荐使用。