docker ubuntu-18.04 实战系列二

 

上一章我们说了一下docker的基本操作,这章继续。docker ubuntu:16.04 镜像启动之后,当然是要装一些常用的工具!

root@6c306f61255e:~# apt-get update

发现速度好慢,怎么办?换源。vi vim 都没有,怎么更改/etc/apt/sources.list 文件?

root@6c306f61255e:~# vi
bash: vi: command not found
root@6c306f61255e:~# vim
bash: vim: command not found

在主机新建一个sources.list 文件添加新源信息、docker cp 进容器替换。

oly@ubuntu-desktop-amd64:~$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
6c306f61255e        ubuntu:16.04        "/bin/bash"         2 hours ago         Up 11 minutes                           oly-ubuntu
oly@ubuntu-desktop-amd64:~$ docker cp sources.list oly-ubuntu:/root

通过之前一系列操作,就可以创建一个能 运行目标程序 的容器。怎么把做好的容器拷贝、转移给目标机用?


创建新的镜像

一、docker commit 基于已有镜像的容器创建

 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

主要参数选项包括:

  • -a ,–author=”” 作者信息
  • -m,–message=”” 提交信息
  • -p,–pause=true 提交是暂停容器运行

在上面的容器中,我们更换了源、安装了vim。根据这个容器来提交一个新的镜像,提交时需要用到容器ID。

oly@ubuntu-desktop-amd64:~$ docker commit -m "add vim" -a "oly" 504798ba956a oly-ubuntu
sha256:d61fa3553d26c07192ceb7d8302750612bfdae23c9cb4a6c70212c313b337f33

oly@ubuntu-desktop-amd64:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
oly-ubuntu          latest              d61fa3553d26        42 seconds ago      221MB
ubuntu              16.04               b0ef3016420a        13 days ago         117MB

 保存镜像文件 docker save -o 目标文件(tar)REPOSITORY(源image)

oly@ubuntu-desktop-amd64:~$ docker save -o oly-docker-ubuntu.tgz oly-ubuntu                            
oly@ubuntu-desktop-amd64:~$ ls
c11-preference  Desktop  Documents  Downloads  examples.desktop  Music  oly-docker-ubuntu.tgz  oly-ubuntu  Pictures  Public  sources.list  Templates  Videos

因为是在本机测试,需要先删除已有的ubuntu镜像。

oly@ubuntu-desktop-amd64:~$ docker rmi oly-ubuntu:latest 
Error response from daemon: conflict: unable to remove repository reference ......

 删除已创建的容器

oly@ubuntu-desktop-amd64:~$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
6c306f61255e        ubuntu:16.04        "/bin/bash"         2 hours ago         Exited (0) 2 minutes ago                       oly-ubuntu
oly@ubuntu-desktop-amd64:~$ docker rm oly-ubuntu
oly-ubuntu
oly@ubuntu-desktop-amd64:~$ docker ps -a        
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
oly@ubuntu-desktop-amd64:~$ docker rmi oly-ubuntu:latest 
Untagged: oly-ubuntu:latest
Deleted: sha256:d61fa3553d26c07192ceb7d8302750612bfdae23c9cb4a6c70212c313b337f33
Deleted: sha256:330fe04e9d125324c967d273f0fb7f90724279931ee5d532ba213fb071589d5f

 导入镜像文件:docker load --input file  或 docker load < file 

oly@ubuntu-desktop-amd64:~$ docker load --input oly-docker-ubuntu.tgz 
3369a6550264: Loading layer [==================================================>]  106.2MB/106.2MB
Loaded image: oly-ubuntu:latest
oly@ubuntu-desktop-amd64:~$ docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
oly-ubuntu          latest              d61fa3553d26        7 minutes ago       221MB
ubuntu              16.04               b0ef3016420a        13 days ago         117MB
oly@ubuntu-desktop-amd64:~$ docker run --name oly-ubuntu -ti oly-ubuntu:latest 

更新的sources.list 和vim都在。No problem!

二、Dockerfile创建新镜像

创建新文件夹oly-ubuntu 

oly@ubuntu-desktop-amd64:~/oly-ubuntu$ ls
Dockerfile  sources.list

新建Dockerfile文件内容如下

#this is a comment
  
# 基础镜像
FROM ubuntu:18.04

# 作者信息
MAINTAINER oly <wanguandong@gamil.com>

# 复制本地文件到镜像
ADD sources.list /etc/apt/

# RUN 会在创建中运行的指令
RUN apt-get update
RUN apt-get -y install vim
RUN apt-get -y install ssh

 docker build 

oly@ubuntu-desktop-amd64:~/oly-ubuntu$ docker build -t="tmp/ubuntu:v1" .

Successfully built 8c1dca0ea68a 镜像id
Successfully tagged tmp/ubuntu:v1 

Removing intermediate container 155d840bf638
 ---> 8c1dca0ea68a
Successfully built 8c1dca0ea68a
Successfully tagged tmp/ubuntu:v1
oly@ubuntu-desktop-amd64:~/oly-ubuntu$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS               NAMES
ef23ac807a40        3a475e885fca        "/bin/sh -c 'apt-get…"   8 minutes ago       Exited (1) 8 minutes ago                          sleepy_mestorf
ae63d40b73b2        oly-ubuntu:latest   "/bin/bash"              23 minutes ago      Exited (127) 16 minutes ago                       oly-ubuntu
oly@ubuntu-desktop-amd64:~/oly-ubuntu$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tmp/ubuntu          v1                  8c1dca0ea68a        7 minutes ago       223MB
oly-ubuntu          latest              d61fa3553d26        32 minutes ago      221MB
ubuntu              16.04               b0ef3016420a        13 days ago         117MB
ubuntu              18.04               1d9c17228a9e        13 days ago         86.7MB

保存镜像文件 docker save -o 目标文件(tar)REPOSITORY(源image)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ubuntu-18.04-x64 是一款基于Debian Linux的操作系统版本。它是由Ubuntu社区开发和维护的,主要用于个人电脑和服务器。 Ubuntu-18.04-x64 提供了现代化的桌面环境,采用了GNOME 3作为默认桌面,为用户提供了友好且直观的操作界面。它还支持多种自定义选项,让用户能够根据自己的需要对桌面进行个性化设置。 作为一款开源操作系统,Ubuntu-18.04-x64 提供了丰富的软件资源。用户可以通过Ubuntu软件中心轻松安装和管理数千种免费的应用程序。此外,用户还可以通过终端命令行使用包管理器apt-get来安装其他软件。 Ubuntu-18.04-x64 还提供了强大的安全性。它内置了防火墙和安全更新功能,可以及时修补系统漏洞,以防止恶意软件和网络攻击。同时,它还支持文件加密和用户帐户管理,用于增强用户数据的安全性和隐私。 对于开发人员和系统管理员而言,Ubuntu-18.04-x64 是一个理想的选择。它提供了广泛的开发工具和环境,包括Python、C++、Java等编程语言和Apache、MySQL、PHP等服务器软件。此外,Ubuntu-18.04-x64 还提供了轻量级容器技术Docker和Kubernetes,方便用户进行应用程序的部署和管理。 总结来说,Ubuntu-18.04-x64 拥有强大的功能和高度的可定制性,适用于不同类型的用户。无论是高级用户、开发人员还是普通用户,都能够在Ubuntu-18.04-x64 上获得良好的使用体验和稳定的系统性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值