一、简介docker

Docker 让开发者可以打包应用以及依赖包到一个可移植的 container 中,一个应用一个docker image,单独管理,互不影响。docker image可发布到任何流行的 Linux 系统上。Docker 相对于 KVM 虚拟机,少了虚拟机操作系统这一层,使用一种内核虚拟化技术,所以是轻量级的虚拟化。

docker如何隔离进程和管理资源?

通过来自 kernel 的 namespace 实现每个用户实例之间的相互隔离,如主机名、文件系统、进程、消息和网络等

通过 cgroup 实现对资源的配额和度量,如cpu个数和内存大小等

image 和 container 的关系:image 可以理解为一个系统镜像,container 是 image 在运行时的一个状态。

二、Docker Compose版本与Docker版本的对应关系

本此以docker20.10.24和docker-compose1.29.2为例

docker引擎版本

docker-compose版本

19.03.x

1.25.x 1.26.x 1.27.x

20.10.x

1.28.x 1.29.x

三、离线安装

1.下载安装包

docker    https://download.docker.com/linux/static/stable/x86_64/docker-20.10.24.tgz

docker-compose   https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64

2.将docker注册为系统服务方便管理

cat > /etc/systemd/system/docker.service <<EOF
[Unit]
Description=Docker Service
After=network.target

[Service]
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF
chmod +x /etc/systemd/system/docker.service

2.上传安装包到服务器空间较大目录并安装

tar xf docker-20.10.24.tgz
mv docker-compose-Linux-x86_64  ./docker/docker-compose
chmod +x ./docker/docker-compose
cp -r ./docker/*  /usr/bin/
#镜像加速
mkdir -p /etc/docker
cat > /etc/docker/daemon.json << EOF
{
  "registry-mirrors": ["https://4hmfxnwg.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl start docker
systemctl status docker
systemctl enable docker

注:一键脚本安装的话,可以将docker.service和docker-compose放入docker-20.10.24.tgz压缩包

3.版本查看


docker version
docker-compose version

四、docker命令

Docker环境信息  
docker [info|version]
容器生命周期管理  
docker [create|exec|run|start|stop|restart|kill|rm|pause|unpause]
镜像仓库  
docker [login|pull|push|search]
本地镜像管理  
docker [build|images|rmi|tag|save|import|load]
系统日志信息
docker [events|history|logs]
容器操作运维  
docker [ps|inspect|top|attach|wait|export|port|rename|stat]
容器rootfs命令  
docker [commit|cp|diff]
容器资源管理
docker [volume|network]

五、docker-compose命令

docker-compose up:构建并启动容器。如果容器不存在,会先构建容器,然后启动它们。
docker-compose up -d:后台模式启动容器。
docker-compose logs:显示容器的日志输出。
docker-compose down:停止并删除容器、网络、卷等Docker资源。
docker-compose start:启动已创建的容器,但不会重新构建它们。
docker-compose stop:停止已创建的容器,但不会删除它们。
docker-compose restart:重启已创建的容器。
docker-compose ps:显示当前Docker Compose项目中的所有容器的状态。
docker-compose exec:在容器内部执行命令。
docker-compose build:构建Docker镜像。
docker-compose pull:拉取Docker Hub上的镜像。
docker-compose config:检查Docker Compose文件的语法是否正确,并输出有效的配置。