文档:https://docs.docker.com
仓库:https://hub.docker.com
镜像(image):docker镜像就好比是 一个目标 ,可以通过这个 目标来创建 容器服务,通过这个镜像可以创建多个容器。
容器(container):可以理解为一个建议的Linux系统
仓库(repository):存放镜像的地方。
环境准备:Linux要求3.0以上;centos7
#环境查看 >> unman -r #系统版本 >> cat /etc/os-release
#1,卸载旧版本
yum remove docker docker-client docker-client-latest docker-latest docker-latest-logrotate docker-logrotate docker-engine
#2,需要的安装包
yum install -y yum-utils
#3,设置镜像仓库
Yum-config-manager add-rep Https://download.docker.com/linux/centos/docker-ce.repo #默认为国外的,不推荐 #推荐使用国内的 Yum-config-manager --add-rep https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新软件包索引
yum makecache fast
#4,安装docker docker-ce 社区版 (ee是企业版)
yum install docker-ce docker-ce-li containerd.io
#5,启动docker
systemctl start docker
#6,使用docker version 查看是否安装成功
docker version
#7,测试
docker run hello-word
#8,查看hello-world镜像
docker images卸载docker
#卸载依赖
yum remove docker-ce docker-ce-li containerd.io
#删除资源(/var/lib/docker 是docker的默认工作路径)
rm -rf /var/lib/docker阿里云镜像加速
1,登陆阿里云找到容器服务 --> 镜像加速器
2,配置使用
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://cdoid6va.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker run 流程图
docker 常用命令
帮助命令
docker version #显示docker的版本信息 docker info #显示docker的系统信息,包含镜像和容器数量 docker 命令 --help #帮助命令
帮助文档地址:
https://docs.docker.com/engine/reference/commandline/build/
>> docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest bf756fb1ae65 5months ago 13.3kB #解释 REPOSITORY:镜像的仓库源 TAG :镜像标签 IMAGE ID:镜像ID CREATED:镜像的创建时间 SIZE:镜像的大小 #可选项 options: -a , --all #列出所有镜像 -q , --quiet #只显示镜像IDdocker search 搜索镜像
>>docker search mysql >>docker search mysql --filter=STARS=3000docker pull 下载镜像
>> docker pull mysql >> docker pull mysql:5.7docker rmi 删除镜像
>> docker rmi -f 镜像id #删除指定镜像 >> docker. rmi -f 镜像id 镜像id 镜像id #删除多个镜像 >>docker rmi -f $(docker images -aq) #删除全部镜像容器命令
ps:有了镜像才可以创建容器
>> docker pull centos >>docker run [可选参数] image
>> docker run -it centos /bin/bash #测试,启动并进入容器 >> exit #从容器中退出列出 所有运行的容器
docker ps 命令退出容器
>> exit #直接退出容器 >>Ctrl + p + q #容器不停止退出删除容器
docker rm 容器id # 删除指定容器,不能删除正在运行的容器,如果要强制删 除 rm -f docker rm -f $(docker ps -aq) #删除所有容器 docker ps -a -q|xargs docker rm #删除所有容器启动和停止容器的操作
docker start 容器id #启动容器 docker restart 容器id #重启容器 docker stop 容器id #停止当前正在运行的容器 docker kill 容器id #强制停止当前正在运行的容器常用其他命令 后台启动容器
docker run -d 镜像名
docker run -d centos docker ps查看日志
docker logs -f -t --tail 数字 容器id
-tf 显示日志
–tail #要显示的日志条数
>>docker logs -tf --tail 10 ce989f90023d查看容器中进程信息 docker top 容器id
docker top ce989f90023d查看景象元数据 docker imspect 容器ID
>>docker inspect ce989f90023d进入当前正在运行的容器
方法1,docker exec -it 容器id bashShell
>>docker exec -it ce989f90023d /bin/bash >>ls >>ps -ef
方法2,docker attach 容器id
>>docker attach ce989f90023d
docker exec #进入容器后开启一个新的终端,可以在里面操作(常用)
docker attach #进入容器正在执行的终端,不会启动新的进程
docker cp 容器id:容器内目标文件路径 目的主机路径
#查看主机目录 >>ls >>docker attach ce989f90023d >>cd /home >> ls #在容器内新建一个文件 >>touch test.java >>exit >>docker ps -a #将docker内文件拷贝到主机上 >>docker cp ce989f90023d:/home/test.java /home >>ls



