docker是一种开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。docker使用客户端-服务器架构,客户端与守护进程通过REST API进行通信,守护进程负责构建、运行和分发docker容器。docker的优势在于它的灵活性、轻量级、可移植性、松耦合、可扩展性和安全性。docker可以解决传统虚拟机技术的一些问题,比如启动速度慢、占用资源多、难以迁移等。docker还有一个集中存放镜像文件的仓储服务,叫做docker registry,可以方便地分享和分发镜像。docker的核心概念有镜像(image)、容器(container)和仓储(repository),它们之间的关系类似于面向对象程序设计中的类和实例。
本安装教程参考Docker官方文档,地址如下:
Docker官网文档
首先如果系统中已经存在旧的Docker,则先卸载:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
首先要安装一个yum工具
yum install -y yum-utils
安装成功后,执行命令,配置Docker的yum源:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
最后,执行命令,安装Docker
yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 启动Docker
systemctl start docker
# 停止Docker
systemctl stop docker
# 重启
systemctl restart docker
# 设置开机自启
systemctl enable docker
# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps
这里以阿里云镜像加速为例。
首先访问阿里云网站:
阿里云官网
注册一个账号。
在首页的产品中,找到阿里云的容器镜像服务:
点击后进入控制台:
首次可能需要选择立刻开通,然后进入控制台。
找到镜像工具下的镜像****加速器:
页面向下滚动,即可找到配置的文档说明:
具体命令如下:
# 创建目录
mkdir -p /etc/docker
# 复制内容,注意把其中的镜像加速地址改成你自己的
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
EOF
# 重新加载配置
systemctl daemon-reload
# 重启Docker
systemctl restart docker
注意:如果nginx后面不加版本号,拉取到的镜像就是最新版本
docker pull nginx
docker images
docker save -o nginx.tar nginx:latest
使用ll命令,发现目录中多出了一个nginx.tar,报名我们的镜像保存成功
docker rmi (镜像名称,对应REPOSITORY):(版本号,对应TAG)
例:删除nginx的镜像
docker rmi nginx:latest
查看后,发现nginx确实消失了
docker load -i nginx.tar
这样就拉取到了本地镜像
docker run -d --name nginx -p 80:80 nginx
docker run 命令在docker中表示创建并运行容器
docker ps
docker stop nginx
docker ps -a
docker start nginx
一次性输出日志
docker logs nginx
docker logs -f nginx
会在当前窗口不断输出日志,按Ctrl+C可中断
docker exec -it nginx bash
exit
docker rm nginx
这里第一次删除失败是因为,没有关闭容器,关闭容器后,即可正常删除