官方安装文档链接:
https://docs.docker.com/install/linux/docker-ce/centos/
阿里云安装文档链接:
https://yq.aliyun.com/articles/110806
阿里云的安装
# step 1: 安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装Docker-CE
yum makecache fast
yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start
#查看docker 安装完成
docker --version
配置镜像加速器
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
针对ocker客户端版本大于 1.10.0 的用户(docker --verion 看版本)
#新建文件夹
mkdir -p /etc/docker
#修改daemon文件,配置文件/etc/docker/daemon.json来使用加速器
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://jk2v9c0j.mirror.aliyuncs.com"]
}
EOF
#重新加载daemon
systemctl daemon-reload
#重启docker
systemctl restart docker
镜像:类似于系统镜像
#构建镜像:
#1.运行一个基于(Centos/Ubuntu/alpine)启动一个容器,在容器内部执行更改操作,比如安装一个工具或者服务!
#2.使用docker commit 将容器提交更改并生成一个新的镜像,比如有个叫ztt的容器,基于它创建一个镜nginx:1.0
#例子:docker commit ztt nginx:1.0
#拉取镜像
docker pull 镜像名称
#删除镜像
docker rmi 镜像名/ID
docker rmi -f 镜像名/ID
#删除所有的镜像
docker rmi $(docker images -q)
#改:
docker tag
#查看镜像
docker search #搜索镜像
docker images -a #查看本地所有
docker images
#从镜像仓库中拉取或者更新指定镜像
docker pull 镜像名:TAG
#将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
docker push 镜像名:TAG
#从镜像仓库搜索镜像
docker search 镜像名关键字
#标记本地镜像,将其归入某一仓库。
docker tag 镜像名:TAG 仓库地址/项目/镜像名:TAG
#读取Dockerfile,构建镜像
docker build Dockerfile文件所在路径
#查看镜像构建历史记录
docker history 镜像名:标签
#将现有的docker镜像保存为tar格式的归档文件,可用于备份或迁移
docker save -o 输出文件名.tar 镜像名:tag
#加载使用 docker save 命令导出的镜像tar文件
docker load -i 文件名.tar
docker load < 文件名.tar
容器:类似于一个轻量级的箱子,里面运行了我们的应用,他是基于镜像而创建和运行的
#创建容器.创建并运行容器 docker run --name 容器名字 -d -p 宿主机端口:容器端口 基础镜像
#例子:docker run --name web1 -d -p 80:80 nginx:latest
--rm 用完及销毁
#docker run --name learn1 -it busybox /bin/sh #交互的方式运行
#这个可以使主机下的文件夹 直接挂载到docker容器下的文件夹 下
#docker run --name solo -d -p 8080:8080 -v /opt/webapps:/usr/local/tomcat/webapps tomcat
#删除容器
docker rm web1
docker rm -f web1
#查看容器
docker ps #查看正在运行的容器
docker ps -a #查看所有的容器
#容器重命名
docker rename new old
#容器的启动
docker start
#容器的停止
docker stop
#容器的重启
docker restart
#暂停容器
docker pause
#取消暂停容器
docker unpause
#更新容器的配置
docker update
#容器和宿主机之间复制文件,默认覆盖已有的文件
docker cp 本地文件路径 容器名/容器ID:文件存放路径
#在运行的容器中执行一条命令
docker exec
#以交互的方式进入web1容器操作
docker exec -it web1 /bin/bash
#查看容器运行状态(CPU\内存\网络IO\磁盘IO使用情况)
docker stats 容器名
#查看容器正在运行的进程
docker top 容器名
#查看容器或者镜像的底层信息,元数据,比如查看ip、主机名、数据卷、CMD等信息(curl ip )
docker inspect 容器/镜像
#直接查看(有的话 可以去浏览器看)
curl + ip
#查看容器内部进程的日志
docker logs [-f]
#停止所有的容器
docker stop $(docker ps -aq)
#删除所有的容器
docker rm $(docker ps -aq)
#删除所有停止的容器
docker container prune
#数据卷存放位置
/var/lib/docker/volumes
#删除数据卷
docker volume rm name
#删除无用数据卷
docker volume prune
#创建一个新的容器但不启动它
docker create
#在运行的容器中执行命令
docker exec [参数] 容器名/容器ID 命令 参数
#从一个正在运行的容器创建一个镜像
docker commit 容器名/容器ID 镜像名:TAG
仓库:用来存放镜像的仓库
***######对镜像仓库的操作############### ***
登录到镜像仓库,如不指定默认登陆到Docker Hub,这个用在往仓库推送镜像的时候使用的,平时不使用
登录:docker login -u 账号 -p 密码 镜像仓库地址
登出:docker logout 镜像仓库地址
***######对本地镜像的操作############### ***