Docker镜像的制作与部署方式

基于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.安装apacheyum -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 psddocker 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 -ypackage-cleanup --cleandupes -ypackage-cleanup --cleandupes with --removenewestdupes -y在此之后重新运行docker 安装脚本

 

4.3容器内可访问,容器外无法访问

解决办法:

重启服务器或关闭系统防火墙

systemctl stop firewalld.service

 

 

 

 

曹兆祺

赞赏二维码稀罕作者

收录于合集 #docker  5个 下一篇基于Docker和RPM安装Zabbix运维管理系统 阅读 15 风乍起带你学编程 81篇原创内容  

相关文章

Docker是什么Docker是 Docker.Inc 公司开源的一个基于 LXC技...
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng...
镜像操作列出镜像:$ sudo docker imagesREPOSITORY TAG IMA...
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p...
在 Docker 中,如果你修改了一个容器的内容并希望将这些更改...
在Docker中,--privileged 参数给予容器内的进程几乎相同的权...