仓库用来存放镜像,镜像生成容器,容器是真正运行的业务实例(容器靠镜像,用镜像打开容器,用容器去打开业务)
当本地有镜像的时候,可以用镜像来运行容器,当没有镜像的时候,从仓库(docker pull)拉取镜像,再通过(docker run)来运行镜像,获得容器
二。部署第一个容器
2.1vim /etc/yum.repos.d/docker-ce.repo
2.2yum clean all
2.3 yum makecache
2.4 yum install docker-ce.x86_64
2.5systemctl enable --now docker
2.6检测是否成功
2.7vim /etc/docker/daemon.json:添加加速器
2.8 systemctl restart docker
2.9尝试拉去镜像busybox:
三。镜像的基础命令
1.镜像搜索:docker search 服务名
2.镜像拉取:docker pull 服务
3.内容查看:docker images(内容详细查看:docker image inspect busybox)
4.查看镜像历史信息:docker history busybox
5.如果提前下载了压缩包下载: docker load -i busybox-latest.tar.gz(一次只能导入一个)
6.镜像删除:docker rmi 服务名/服务id
6.镜像保存全部内容: docker save `docker images | awk 'NR>1{print $1 ":" $2}'` -o images.tar.gz
7.镜像删除全部内容:docker rmi `docker images | awk 'NR>1{print $1 ":" $2}'`
8.镜像的还原:docker load -i images.tar.gz
四。容器内运行服务:
1.容器的启动:
方法1:docker run -d --rm --name web1 nginx
-d:后台运行 -i:交互式运行 -t:打开一个终端 --name:指定容器名称
-p:端口映射 --rm:容器停止自动删除容器 --network:指定容器使用的网络
方法2: docker run -d --name test busybox
docker start test
docker exec -it test1=docker attach test1
docker ps -a:查看是否开启
2.容器的停止与删除:先退出exit,在删除docker rm test(容器名)
3.查看网络:docker network ls
五。容器的运行删除
1.查看:
docker ps:查看当前运行容器
docker ps -a:查看所有容器
docker inspect busybux:查看容器运行的详细信息
2.停止与运行:
docker stop busybox:停止容器
docker kill busybox:杀死容器
docker start busybox:开启容器
3.容器的删除:
如果删除暂停的容器:docker rm buxybox
删除正在运行的容器:docker rm -f buxybox
删除所有停止的容器:docker container prune -f
4.开启多个TAG镜像:
1.先启动 一个容器,2.再添加新的容器名
注释:进入新容器的方法:先删除容器,再启动对于的TAG容器
删除镜像的方法:1.先停止该镜像的容器,2.再删除此容器,3.最后删除该镜像
六。在docker内运行nginx
1.docker pull nginx:获取nginx镜像
2.docker run -d -p 8080:80 --name mynginx nginx:latest:运行mynginx容器,80为docker内nginx去连接外部的8080端口,-p:指向端口
3.docker exec -it mynginx /bin/bash:交互式打开mynginx容器界面
4.echo "hello docker nginx" > /usr/share/nginx/html/index.html:写入内容
5. chmod 644 /usr/share/nginx/html/index.html:修改权限