龙空技术网

Docker框架使用系列教程之创建镜像

图灵课堂程序员小陳 144

前言:

此时姐妹们对“docker创建ubuntu镜像”可能比较关注,咱们都想要分析一些“docker创建ubuntu镜像”的相关知识。那么小编也在网摘上汇集了一些对于“docker创建ubuntu镜像””的相关资讯,希望朋友们能喜欢,大家快快来学习一下吧!

今天我们来给大家介绍一下docker镜像的创建方法,还是老规矩喜欢的话记得收藏起来。

创建镜像

当我们从 docker 镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。

1、从已经创建的容器中更新镜像,并且提交这个镜像

2、使用 Dockerfile 指令来创建一个新的镜像

创建Docker账号

共享和发布镜像时构建镜像中重要的环节,可以将镜像推送到Docker Hub或资金的私有Registry中。

这条命令会完成登录,并将认证信息报错起来供后面使用。个人认证信息将报错到$HOME/ .dockercfg文件中.

用 commit 命令创建镜像

可以想象是往版本控制系统里提交变更:首先创建一个容器,并在容器里做修改,就行修改代码一样,最后在讲修改提交为一个新镜像。

创建一个新容器命令:

sudo docker run -i -t ubuntu /bin/bash

或者之前创建好的myubuntu容器:

sudo docker start myubuntu

sudo docker attach myubuntu

注意:

docker run 后面指定的是一个镜像、而docker start指定的是一个容器、docker run是利用镜像生成容器,并启动容器,而docker start是启动一个之前生成过的容器

因为ubuntu官方镜像中没有软件包的缓存文件,使用apt-get update更新即可,也可以修改原来配置。进入myubuntu之后,然后安装ssh。

运行ssh需要目录/var/run/sshd存在,创建启动服务

mkdir -p /var/run/sshd/usr/sbin/sshd -D &

然后可以看到已经运行,netstat命令可能也没有,安装即可apt-get install net-tools

然后复制需要登录的公钥信息(这里为本地主机)。使用ssh-keygen可以生成。

复制id_rsa.pub的内容到容器中的/root/.ssh/authorized_keys

创建ssh服务执行文件,然后退出容器

vim /run.sh

chmod +x run.sh

使用docker commit保存修改的容器,然后运行

docker commit CONTAINER ID ssh:ubuntu

docker run -d -p :22 ssh:ubuntu /run.sh

最后可以在宿主机上通过随机生成的32768端口来访问登录容器了:

使用dockerfile创建镜像

创建一个目录sshd_ubuntu,分别创建文件如下:

标签: #docker创建ubuntu镜像