基于Linux的虚拟化(Docker)镜像的制作与部署方式
原创 曹兆祺 风乍起带你学编程 2022-08-13 23:00 发表于天津 收录于合集 #docker5个 #镜像1个 #linux3个Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。一个完整的Docker有以下几个部分组成:DockerClient客户端 Docker Daemon守护进程 Docker Image镜像 DockerContainer容器
百度百科
前言:
Docker镜像的制作
·制作容器准备
# 1.使用centos启动一个交互式容器
docker run -it centos:latest /bin/bash
# 2.安装apache
yum -y install httpd
# 3.退出容器
exit
·制作commit
docker commit <container的ID> <新的image_name>
·制作build
docker build -t centos:httpd ./
·编写启动脚本
# 1. 设置启动脚本
echo "/usr/sbin/httpd -DFOREGROUND" > start.sh
# 2. 给启动脚本添加运行权限
chmod a+x start.sh
·发布(需先登录)
docker login -u name psd
docker push houxin/centos:httpd
镜像部署
1. 镜像运行所需环境
项目 |
版本 |
备注 |
Linux |
3.10.0-1160.71.1.el7.x86_64 以上 |
基础系统 |
Docker |
Docker version 20.10.17, build 100c701 |
容器环境 |
MobaXterm |
V21.5 |
连接工具 |
2. 部署步骤
2.1 Docker安装
1. 配置yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2. 更新yum
yum update -y
3. 安装DeviceMapper工具
yum install -y yum-utils device-mapper-persistent-data lvm2
4. 更新yum缓存
yum makecache fast
5.安装docker
yum -y install docker-ce
6.启动docker,查看版本
systemctl start docker
docker -v
7. 设置开机自启动(重启服务器)
systemctl enable docker.service
2.2 镜像部署及运行
1. 通过连接工具上传镜像文件
2. 运行脚本Start.sh
首先,更新脚本权限
chmod 777 t.sh
运行脚本;
./t.sh
出现以下即为成功:
3. 测试部署与运行效果
docker ps
curl 127.0.0.1:30297
4. 在实体机测试效果如下
3. Docker常用命令
3.1进入容器
docker exec -it 容器名/容器ID /bin/bash
3.2查看容器日志
docker logs 容器ID
3.3查看容器状态
docker ps -a
3.4 其他
4. 常见错误
4.1错误1
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service"
解决办法:
执行yum update 后重启服务器
4.2错误2
Docker安装中出现以下错误:
systemd conflicts with dracut-033-161.el7.x86_64
解决办法:
yum install yum-utils -y
package-cleanup --cleandupes -y
package-cleanup --cleandupes with --removenewestdupes -y
在此之后重新运行docker 安装脚本
4.3容器内可访问,容器外无法访问
解决办法:
重启服务器或关闭系统防火墙
systemctl stop firewalld.service
曹兆祺 收录于合集 #docker 5个 下一篇基于Docker和RPM安装Zabbix运维管理系统 阅读 15 风乍起带你学编程 81篇原创内容 标签:容器,centos,部署,yum,镜像,Docker,docker From: https://www.cnblogs.com/qiangfenger/p/16585747.html