(Docker)镜像的制作与部署方式

基于Linux的虚拟化(Docker)镜像的制作与部署方式

    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篇原创内容
 
posted @ 2022-08-14 16:46  往事已成昨天  阅读(602)  评论(0编辑  收藏  举报