Lazy loaded image
技术分享
Docker配置
00 min
2023-4-13
2024-11-25
type
status
date
slug
summary
tags
category
icon
password

Docker

安装

常用命令

docker info:显示docker基本信息
docker images:显示所有镜像
docker search:从官方仓库查找镜像
docker pull Image[:version]:拉取镜像
docker system df:查看docker总占用系统空间
docker rmi Image:删除镜像
docker ps -a:列出所有容器
docker log Container: 查看容器日志
docker inspect Container:查看容器详细信息

启动容器

docker run 用于首次创建容器实例并启动,需要合理配置参数选项,使用 docker run --help 查看参数说明
以 redis 镜像为例,创建并启动容器实例的常用参数如下:

进入容器

docker exec -it Container /bin/bash 用于进入容器并使用其内部的bashshell进行交互,使用 exit 退出

备份容器

通常在初始启动时使用 -v 参数映射本地和容器的目录,就可以将内部重要数据实时同步持久化到本地
单独拷贝容器内文件到本地
docker cp Container:容器内目录 主机目录
单独拷贝本地文件到容器
docker cp 主机目录 Container:容器内目录
也可以将整个容器导出备份为.tar压缩文件
docker export Container > 文件名.tar
导入压缩文件会恢复为一个自定义镜像
cat 文件名.tar | docker import - 镜像组织名/Image:version

制作镜像

UnionFS(联合文件系统):是一种分层、轻量、高性能的文件系统,通过对文件系统层层叠加,实现对系统的逐步扩展(类似于继承),docker使用UnionFS为基础,只提供最精简的linux虚拟化容器,由使用者自行扩展需要的功能再发布为镜像,这样的按需使用实现了特定需求的最简化运行环境,使用者也可以扩展已发布的镜像添加某些功能后再发布为新镜像
提交容器副本在本地生成一个新的镜像
docker commit -m "description" -a "author" Container 组织名/镜像名:版本名
发布镜像到远程仓库,官方仓库为dockerhub,国内阿里云也有容器仓库服务,整体使用过程类似github

Dokcerfile

是用于定制化构建docker镜像的脚本文件
以Nginx镜像的Dokcerfile文件为例:
在Dokcerfile所在目录构建新镜像:
docker build -t codfish/nginx:0.1.0 .

Docker网络

docker启动后,可以看到安装了一个名为docker0的虚拟网卡
docker network ls:查看当前所有docker网络,其中包含三种网络模式bridgehostnone
docker network inspect 网络名:查看当前网络详细信息,其中包含了所有已启动容器的网络信息
网络模式
简介
bridge(默认)
将每个容器连接到docker0并为其分配IP
host
容器使用宿主机的IP和端口
none
容器有独立的网络空间,但未设置
在初始化启动容器时,使用 --network 模式 指定容器的网络模式,不指定时默认使用bridge模式

Dokcer Compose

官方工具, 能对一系列有依赖关系的docker容器按规则统一配置,实现单机多容器项目的一键启动
常用命令
docker-compose config -q:检查yml配置文件
docker-compose up -d:根据配置文件,启动所有服务
docker-compose stop:停止所有服务

一些常见服务启动命令汇总

nacos

上一篇
Nginx配置
下一篇
后端知识笔记