目录
1. 前言简介:
1.1 docker的优势:
1.2 docker的简易理解
2. 指令安装
2.1 安装yum的插件
ps: 提示没权限加上sudo即可 root用户不用
2.2 设置yum仓库地址
ps: 设置多个镜像仓库, 不设置可能会下载变慢
ps: 如图所示
2.3 更新缓存
2.4 安装docker
2.5 查看docker版本
3. 启动docker-------------
3.1 开启docker服务
3.2 设置开机自启
3.3 停止docker服务
3.4 镜像加速
3.5 输出daemon.json
3.6 重新加载docker配置
3.7 重启docker
3.8 查看镜像配置
3.9 运行helloworld容器吧 没有会自动下载
4. docker使用的基本指令
4.1 检查docker 镜像
4.2 查看docker容器
4.3 docker删除容器
---> 如果有个容器还占用这个镜像,删除会报错
---> 需要先删除应用此镜像的容器然后删除
---> 特别注意: 如果直接强制删除镜像 容器也不会删除
4.4 docker pull 拉取
4.5 运行镜像
5. 制作镜像
5.1 下载centos镜像
->官网效果(如图)
-> 下载操作(如图)
5.2 将centos7镜像下载到本地
5.3 然后将这个压缩包拉到Windows系统中
--> 使用方式(如图):
5.4 进入容器(宿主机进入)以及退出
-> 如图所示
编辑
5.5 docker在后台运行的标准操作包括:
5.6 删除容器:
5.7 删除镜像
6. 容器创建后的维护
6.1 查看容器信息
6.2 查看容器日志信息
7. 创建容器挂载(数据卷)
7.1 创建一个数据卷
7.2 查看数据卷
7.3 查看指定数据卷信息
7.4 配置jdk
--> 创建文件Dockerfile并添加配置
7.5 使用 Dockerfile 构建镜像
---> 指令: docker build -t jdk:8 .
7.6 查看环境变量
8. 总结及后续传送门
1. 前言简介:
1.1 docker的优势:
隔离性:Docker使用容器来隔离不同的应用程序和环境,这使得应用程序之间不会互相影响,同时可以更好地管理资源。
可移植性:Docker容器可以轻松地在不同的环境中运行,从而实现真正的可移植性,无需担心因为不同的运行环境而导致应用程序出现问题。
可伸缩性:使用Docker可以很容易地扩展应用程序,根据需要增加或减少容器数量。
更快的部署:由于Docker容器的轻量级特性,部署应用程序变得非常快速和简单。
更好的资源利用率:Docker可以充分利用系统资源,在不同的容器中同时运行多个应用程序,从而实现更好的资源利用率。
更好的管理和维护:Docker的管理和维护非常简单,可以轻松地更新和升级容器中的应用程序,并且可以使用Docker的一些工具来监控和管理容器的运行情况。
1.2 docker的简易理解
分为 容器和宿主机 也就是 容器的端口可以相同 用不同宿主机的端口进行映射
就像虚拟机一样 每个容器相互独立 互不影响, 然后一个大房子里的不同格子放这这些容器, 拿redis举例 6379端口的容器可以有多个 但是宿主机端口只能有一个 可以映射6380 等
2. 指令安装
2.1 安装yum的插件
ps: 提示没权限加上sudo即可 root用户不用
yum install -y yum-utils
2.2 设置yum仓库地址
ps: 设置多个镜像仓库, 不设置可能会下载变慢
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
ps: 如图所示
2.3 更新缓存
sudo yum makecache fast
2.4 安装docker
网络环境不好的重复下载
sudo yum install -y docker-ce docker-ce-cli containerd.io
2.5 查看docker版本
docker -v
3. 启动docker-------------
3.1 开启docker服务
systemctl start docker
3.2 设置开机自启
systemctl enable docker
3.3 停止docker服务
systemctl stop docker
3.4 镜像加速
配置加速器来加速。修改配置文件 /etc/docker/daemon.json
cat <<EOF > /etc/docker/daemon.json
{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com"],"max-concurrent-downloads": 10,"log-driver": "json-file","log-level": "warn","log-opts": {"max-size": "10m","max-file": "3"},"data-root": "/var/lib/docker"
}
EOF
3.5 输出daemon.json
3.6 重新加载docker配置
systemctl daemon-reload
3.7 重启docker
systemctl restart docker
3.8 查看镜像配置
docker info
3.9 运行helloworld容器吧 没有会自动下载
官网: https://hub.docker.com/
docker run hello-world
4. docker使用的基本指令
4.1 检查docker 镜像
docker images
4.2 查看docker容器
docker ps -a # (简写) a==all
4.3 docker删除容器
docker image rm redis
---> 如果有个容器还占用这个镜像,删除会报错
---> 需要先删除应用此镜像的容器然后删除
---> 特别注意: 如果直接强制删除镜像 容器也不会删除
4.4 docker pull 拉取
4.5 运行镜像
docker run hello-world
5. 制作镜像
制作镜像,都会先下载一个空的centos镜像(空的系统镜像文件系统)。
官方镜像仓库地址为https://hub.docker.com
5.1 下载centos镜像
docker pull centos:7
->官网效果(如图)
-> 下载操作(如图)
5.2 将centos7镜像下载到本地
5.3 然后将这个压缩包拉到Windows系统中
--> 使用方式(如图):
5.4 进入容器(宿主机进入)以及退出
docker run -it centos:7 bash
docker exec -it centos:7 bash
注意: (指令可以组合使用) 例子: -i -t -dit -d是后台运行 it表示交互 dit没有啥意义
-> 如图所示
5.5 docker在后台运行的标准操作包括:
1.检查本地是否存在指定的镜像,不存在就从公有仓库下载
2.利用镜像创建并启动一个容器
3.分配一个文件系统(简版linux系统),并在只读的镜像层外面挂载一层可读写层
4.从宿主主机配置的双桥接口中桥接一个虚拟接口到容器中去
5.从地址池配置一个 ip 地址给容器
6.执行用户指定的应用程序
5.6 删除容器:
docker stop redis
docker container rm -f redis#不用停容器 直接删(container可以不写)
docker rm -rf redis
5.7 删除镜像
docker rmi 镜像id(三到四位就行)
6. 容器创建后的维护
6.1 查看容器信息
docker inspect redis
6.2 查看容器日志信息
docker container logs redis
docker container logs -f redis
7. 创建容器挂载(数据卷)
7.1 创建一个数据卷
7.2 查看数据卷
7.3 查看指定数据卷信息
7.4 配置jdk
--> 创建文件Dockerfile并添加配置
FROM centos:7
ADD jdk-8u51-linux-x64.tar.gz /usr/local/docker
ENV JAVA_HOME=/usr/local/docker/jdk1.8.0_51 \PATH=/usr/local/docker/jdk1.8.0_51/bin:$PATH
CMD [‘bash’]
7.5 使用 Dockerfile 构建镜像
(在Dockerfile所在目录执行docker指令)
---> 指令: docker build -t jdk:8 .
注意 这有个点
7.6 查看环境变量
8. 总结及后续传送门
docker 安装 使用 部署等操作(专栏)