华为云docker镜像(华为云镜像仓库)

admin 154 2022-11-17

阿里云服务器优惠多,折扣错,惊喜多,请咨询:www.wqiis.com

本文目录一览:

Docker如何创建镜像?怎么修改,上传镜像

 初次安装部署好docker后,大多数镜像可以从DockerHub 提取,但是大多数人都希望自己可以完全自定义一个镜像,那么这里需要一个第三方工具 febootstrap

epel6的源提供febootstrap的RPM包

yum install docker-io febootstrap -y

service docker start

chkconfig docker --level35 on

复制代码

制作CentOS6.6镜像目录

febootstrap -i yum -i iputils -i iproute -i bash -i vim-minimal -i coreutils -i tar -i net-tools centos6 base a href="" target="_blank";/a -u a href="" target="_blank";/a

复制代码

-i 表示镜像里面安装的RPM包(包括一些人为有必要的软件包)

centos6 表示镜像的版本说明

base 表示生成的镜像目录

后面之后了系统安装源和更新源为USTC

安装执行后,会开始一系列的RPM包下载安装,过程与yum类似,安装完成后当前目录会多了base目录,里面就是一个镜像的系统文件

进入base目录等于进入镜像的根目录

[root@image ~]# cd base/

[root@image base]# ls

bin boot dev etc home lib lib64 media mnt opt proc root sbin selinux srv sys tmp usr var

复制代码

可以像一般的系统文件一样先做一些修改配置,例如配置第三方yum源等等

把base目录把所有文件打包成二进制文件后导入docker创建为镜像

cd ~/root/base/ tar -c . | docker import - centos6:base

复制代码

docker images 可以查看镜像的信息

一个基本centos镜像创建完毕,下面再利用Dokcerfile制作mysql镜像

cat Dockerfile

FROM centos6:base

MAINTAINER Lion "lioncui@163.com"

VOLUME /var/lib/mysql

RUN yum install mysql-server mysql -y

RUN echo -ne "NETWORKING=yes\\nHOSTNAME=mysql" /etc/sysconfig/network

RUN echo -ne "bind-address = 0.0.0.0\\ndefault-storage-engine=innodb\\ninnodb_file_per_table\\n\

collation-server=utf8_general_ci\\ninit-connect='SET NAMES utf8'\\ncharacter-set-server = utf8" insert

RUN sed -i "/user=mysql/r insert" /etc/my.cnf rm -f insert

RUN echo -ne "/usr/bin/mysql_install_db\\n/usr/bin/mysqld_safe" /opt/mysql_start

RUN chmod 777 /opt/mysql_start

ENV PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:

WORKDIR /opt

EXPOSE 3306

CMD /bin/sh -c mysql_start

复制代码

FROM 声明以centos:base镜像为基础

MAINTAINER 声明镜像的维护者信息

VOLUME 挂载本地目录到容器里/var/lib/mysql目录(这是mysql默认的数据保存目录)

由于我希望数据可以持久化防止因为容器误删除而丢失,所以映射到宿主本地目录

RUN 在镜像中执行安装mysql

在新镜像中写入HOSTNAME信息,因为mysql启动过程需要network文件

在my.cnf配置文件插入一些修改配置

创建启动脚本

声明环境变量

制定默认工作目录

EXPOSE 声明容器需要暴露的端口号

CMD 是指镜像生成容器后自动执行的命令,类似docker exec,这里是自动启动mysql服务

根据Dockerfile创建mysql服务镜像

docker build --rm=true -t mysql:frist .

查看镜像的树状关系可以发现,mysql:frist是以centos:base为父镜像

docker基础镜像是什么意思

镜像是 Docker 运行容器的前提,Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。

对于docker镜像,官方的定义如下: An image is a read-only template with instructions for creating a Docker container. Often, an image is based on another image, with some additional customization. For example, you may build an image which is based on the ubuntu image, but installs the Apache web server and your application, as well as the configuration details needed to make your application run.‘ 映像是一个只读模板,带有创建Docker容器的指令。通常,一个映像是基于另一个映像的,还需要进行一些额外的定制。例如,您可以构建一个基于ubuntu映像的映像,但是安装Apache web服务器和您的应用程序,以及使您的应用程序运行所需的配置细节。

Docker 镜像、容器命令

镜像-容器的模板-静态的-打包好的-使用的时候创建容器

du -sh *

[hs@cs007 hs]$ du -sh *

0 app

80K backup

574M centos-ssh-jdk.tar

8.0K dgw-agent

docker container prune:清理所有停止运行的容器(exited)

docker image prune:清理所有悬挂(none)镜像

docker system prune:清理磁盘,删除关闭的容器、无用的数据卷和网络,-a:可以将没有镜像都删掉

docker rmi -f 3}') :删除镜像名称或标签为none的镜像

docker rmi -f 1}'):删除异常停止的docker容器

sync; echo 1 /proc/sys/vm/drop_caches

上一篇:城阳网站设计公司(城阳网络公司)
下一篇:虚拟主机根目录(虚拟主机根目录是什么)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~