Docker的目标
提供简单轻量的建模方式
职责的逻辑分离
快速高效的开发生命周期
鼓励使用面向服务的架构
Docker使用场景
- 使用docker容器开发,测试,部署服务
- 创建隔离的运行环境
- 搭建测试环境
一. Docker centos 上安装
- 环境准备
要安装 Docker 引擎,您需要 CentOS 7 或 8 的维护版本。不支持或测试存档版本。
该centos-extras库必须启用。默认情况下启用此存储库,但如果您已禁用它,则需要 重新启用它。overlay2推荐使用存储驱动。
执行命令: cat /etc/issue 查看系统版本
执行命令: uname -r 查看内核 3.x 以上
- 开始安装 卸载旧版本
sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
3. 使用存储库安装
设置存储库
安装yum-utils包(提供yum-config-manager 实用程序)并设置稳定存储库。
sudo yum install -y yum-utils
由于 下面仓库地址在国外非常慢, 我们采用阿里云镜像。
sudo yum-config-manager \
--add-repo \ https://download.docker.com/linux/centos/docker-ce.repo(官方)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo (阿里云镜像仓库)
- 安装 Docker 引擎
sudo yum install docker-ce docker-ce-cli containerd.io
二. 将docker设置为开机自启动
chkconfig docker on
启动docker
systemctl start docker
三.运行hello-world 映像验证 Docker Engine 是否已正确安装
docker run hello-world
四. 卸载 Docker Engine、CLI 和 Containerd 包:
sudo yum remove docker-ce docker-ce-cli containerd.io
主机上的映像、容器、卷或自定义配置文件不会自动删除。删除所有镜像、容器和卷:
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
五. 配置阿里云镜像加速
docker - -help 帮助命令
六. 镜像基本命令
- 列出主机镜像列表
docker images; - 下载image
docker pull image_name - 保存镜像到一个tar包
docker save image_name > /home/save.tar - 加载一个tar包格式的镜像
docker load < /home/save.tar - 删除镜像
docker rmi image_name
删除所有镜像 docker rmi -f $(docker images -qa)
七.容器基本命令
- 以centos 为例
docker pull centos - 新建镜像 并且启动
docker run 【可选参数】 image
–name = “name” 需要名字
-d 后台方式运行
-it 使用交互方式运行。 进入 容器查看内容
-p 指定容器端口 -p 8080:8080
-p 主机端口: 容器端口
-P 随机指定端口
测试:
查看容器内的centos
退出容器(停止) exit
按键 Ctrl + p +q 容器不停止退出
列出所有运行容器
docker ps 当前正运行的容器
docker ps -a 曾经运行过的
-n = 1 显示最近一个
-q 只显示容器编号
删除容器 docker rm 容器id 删除特定容器 不能删除正在运行的
强制 rm -rf
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
其他命令:
Ctrl + C 退出
Docker 安装nginx
docker run -d -p 9000:9000
–restart=always
-v /var/run/docker.sock:/var/run/docker.sock
–name prtainer-test
docker.io/portainer/portainer
端口设置 9000 用户名 密码
分层理解
![在这里插入图片描述]()
例子: docker build -f /home/Dockerfile -t test:1.0.0 .
不要忘记 最后 ·
docker build -f E:\docker\Dockerfile -t test:1.0.0 .
推送到远程仓库 镜像名 必须为 仓库用户名/镜像名:tag
![在这里插入图片描述]()
运行现存的镜像
docker run -it -d -p 8088:8088 --name 容器名 镜像名:版本号
加载dockerfile制作成镜像
docker build -f /app/…/Dockerfile -t 镜像名:版本号. (最后面一个.)