目录
什么是Docker?
Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. With Docker, you can manage your infrastructure in the same ways you manage your applications. By taking advantage of Docker's methodologies for shipping, testing, and deploying code, you can significantly reduce the delay between writing code and running it in production.
Docker provides the ability to package and run an application in a loosely isolated environment called a container. The isolation and security lets you run many containers simultaneously on a given host. Containers are lightweight and contain everything needed to run the application, so you don't need to rely on what's installed on the host. You can share containers while you work, and be sure that everyone you share with gets the same container that works in the same way.
翻译:
Docker 是一个用于开发、发布和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,以便快速交付软件。借助 Docker,您可以像管理应用程序一样管理基础架构。通过利用 Docker 的代码交付、测试和部署方法,您可以显著减少编写代码和在生产中运行代码之间的延迟。
Docker 提供了在称为容器的松散隔离环境中打包和运行应用程序的功能。隔离和安全性允许您在给定主机上同时运行多个容器。容器是轻量级的,包含运行应用程序所需的一切,因此无需依赖主机上安装的内容。您可以在工作时共享容器,并确保与您共享的每个人都能获得以相同方式工作的相同容器。
Docker能干什么?
- 快速、一致的交付应用程序
- 响应式部署和扩展
- 在同一硬件上运行更多的工作负载
Docker架构
简单来说:
Docker是一个开源的应用容器引擎,并且可以让开发者将某一个运行程序或者服务,以及其运行所需要的依赖环境,打包到一个轻量级、可移植的容器中,发布到任何环境中【windows、Linux】,容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker是一个C/S结构的系统,Docker守护进程运行在主机上, 然后通过Socket连接从客户端访问Docker守护进程。Docker守护进程从客户端接受命令,并按照命令,管理运行在主机上的容器。
Docker的基本概念
Image(镜像):相当于是一个 root 文件系统。其中包含一个或多个服务/运行程序及其依赖
Container(容器):由Image创建,Image是静态定义,相当于PC底层硬件,Container则是Image运行的实体,相当于系统中的软件。
Repository(仓库):单纯的仓库,用于存放镜像,也可以看作是一个代码控制中心。
Docker安装
1、设置Docker YUM源
可在阿里云中找到
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2、卸载旧版本
若之前未安装,跳过
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
3、设置存储库
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4、安装Docker
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
5、启动Docekr,设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
6、添加阿里云镜像加速器
具体可在阿里云中找
网址:阿里云镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["镜像加速器地址"]
}
EOF
#重启docker和守护进程
sudo systemctl daemon-reload
sudo systemctl restart docker
7、测试
sudo docker run hello-world
出现下面图片中的内容即为成功
Docek常用命令
docker help 查看帮助
docker search --镜像名 搜索仓库镜像
docker pull --镜像名 拉取镜像
docker ps 查看目前正在运行的所有容器 (-a 显示包括已经停止的容器)
docker rmi image_id/image_name 删除镜像
docker build 使用Dockerfile创建镜像
docker run 运行容器
docker exec 进入容器中执行命令 (例如:docker exec -it container_id/container_name /bin/bash)
docker logs container_id/container_name 查看容器日志(例如:docker logs -f -t --tail 10 container_id )
docker start container_id/container_name 启动容器
docker restart container_id/container_name 重启容器
docker stop container_id/container_name 停止容器
docker rm container_id/container_name 删除容器(只能删除已停止的容器)