目录
1.docker简介
2.docker安装
2.1使用root用户登陆 更新yum源
2.2安装依赖
2.3设置yum源 更新yum源索引
2.4安装docker
2.5启动并且设置开机自启动
2.6验证安装是否成功
2.7配置docker加速器
2.8重启docker服务
3.docker简单使用
3.1下载镜像
3.2列出镜像
3.3删除本地镜像
3.4列出镜像
3.5停止容器
3.6删除容器
3.7强制停止容器
3.8容器与宿主机相互复制文件
3.9挂载文件
3.10查看容器的卷绑定(volume binds)情况
1.docker简介
Docker是一个开源的容器化平台,可以帮助开发者将应用程序和其依赖的环境打包成一个可移植、可部署的容器。Docker的主要目标是通过容器化技术实现应用程序的快速部署、可移植性和可扩展性,从而简化应用程序的开发、测试和部署过程。
容器化是一种虚拟化技术,它通过在操作系统层面隔离应用程序和其依赖的运行环境,使得应用程序可以在一个独立的、封e闭的环境中运行,而不受底层操作系统和硬件的影响。与传统的虚拟机相比,容器化具有以下优势:
- 轻量级: 容器与宿主机共享操作系统内核,因此容器本身非常轻量级,启动和停止速度快,资源占用少。
- 可移植性: 容器可以在任何支持相应容器运行时的系统上运行,无需关注底层操作系统的差异,提供了高度的可移植性。
- 快速部署: 容器化应用程序可以通过简单的操作进行打包、分发和部署,减少了部署过程的复杂性和时间成本。
- 弹性扩展: 可以根据应用程序的需求快速创建、启动和停止容器实例,实现应用程序的弹性扩展和负载均衡。
- 环境隔离: 每个容器都具有独立的运行环境,容器之间相互隔离,不会相互干扰,提供了更好的安全性和稳定性。
2.docker安装
2.1使用root用户登陆 更新yum源
yum -y update
2.2安装依赖
yum install -y yum-utils
2.3设置yum源 更新yum源索引
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
2.4安装docker
yum install -y docker-ce
2.5启动并且设置开机自启动
systemctl start docker && systemctl enable docker
2.6验证安装是否成功
docker version
2.7配置docker加速器
cd /etc/docker
查看有没有 daemon.json。没有的话创建一个并进行配置写入以下内容
{
"registry-mirrors": [
"https://ginger20240704.asia",
"https://dockerpull.com"
]
}
2.8重启docker服务
systemctl daemon-reload systemctl restart docker
3.docker简单使用
3.1下载镜像
docker pull java
3.2列出镜像
以上列表含义如下
- REPOSITORY:镜像所属仓库名称。
- TAG:镜像标签。默认是 latest,表示最新。
- IMAGE ID:镜像 ID,表示镜像唯一标识。
- CREATED:镜像创建时间。
- SIZE: 镜像大小。
3.3删除本地镜像
docker rmi halohub/halo:latest
3.4列出镜像
docker ps
3.5停止容器
使用 docker stop命令,即可停止容器
docker stop f0b1c8ab3633
其中f0b1c8ab3633是容器 ID,当然也可使用 docker stop容器名称来停止指定容器
3.6删除容器
使用 docker rm命令即可删除指定容器
docker rm f0b1c8ab3633
3.7强制停止容器
可使用 docker kill命令发送 SIGKILL信号来强制停止容器
docker kill f0b1c8ab3633
3.8容器与宿主机相互复制文件
- 从容器里面拷文件到宿主机:
docker cp 容器id:要拷贝的文件在容器里面的路径 宿主机的相应路径 如:
docker cp 7aa5dc458f9d:/etc/nginx/nginx.conf /mydata/nginx
docker cp 7aa5dc458f9d:/etc/nginx/nginx.conf /mydata/nginx
- 从宿主机拷文件到容器里面:
docker cp 要拷贝的宿主机文件路径 容器id:要拷贝到容器里面对应的路径
3.9挂载文件
docker run -d -p 9958:80 -v /app/docker/test/code/index.html:/usr/share/nginx/html/index.html --name nginx_data_vol_v1 nginx:1.22.0-alpine
3.10查看容器的卷绑定(volume binds)情况
docker inspect nginx_volume_dir | jq .[0].HostConfig.Binds