今天给各位分享ubuntu容器怎么启动的知识,其中也会对Ubuntu u盘启动进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、如何在Ubuntu上创建及管理LXC容器
- 2、如何在Ubuntu上借助Docker管理Linux容器
- 3、Ubuntu Docker 安装和使用
- 4、ubuntu 怎么进入docker
- 5、docker 安装 ubuntu 怎么用
如何在Ubuntu上创建及管理LXC容器
虽然早在十多年前就引入了容器这个概念,用来安全地管理共享式主机托管环境(比如FreeBSD监狱),但LXC或Docker之类的Linux只是最近因日益需要为云计算部署应用程序而进入主流。虽然这阵子Docker备受媒体的关注,并且得到了各大云服务提供商(比如亚马逊AWS和微软Azure)以及发行版提供商(比如红帽和Ubuntu)的大力支持,但LXC实际上却是针对Linux平台开发的早期容器技术之一。
如果你是普普通通的Linux用户,Docker/LXC可以带来什么样的好处呢?嗯,容器实际上是一种在诸发行版之间几乎即时切换的一种好方法。假设你当前的桌面系统是Debian,你需要Debian的稳定性。与此同时,你又想玩最新的Ubuntu游戏。然后,用不着很麻烦地通过双启动进入到Ubuntu分区,或者启动占用大量资源的Ubuntu虚拟机,只要立即启用一个Ubuntu容器即可,一切都搞定了。
即便没有Docker的种种好处,我喜欢LXC容器的地方在于,LXC可以由libvirt接口来管理,Docker却不是这样。如果你之前一直使用基于libvirt的管理工具(比如virt-manager或virsh),就可以使用同样那些工具来管理LXC容器。
我在本教程中着重介绍标准LXC容器工具的命令行用法,并且演示如何在Ubuntu上从命令行创建及管理LXC容器。
将LXC安装到Ubuntu上
想在Ubuntu上使用LXC,就要安装LXC用户空间工具,如下所示。
$ sudo apt-get install lxc
安装完毕之后,运行lxc-checkconifg工具,检查当前Linux内核支持LXC的情况。要是一切都已被启用,内核对LXC的支持已准备就绪。
$ lxc-checkconfig
安装LXC工具后,你会发现,LXC的默认网桥接口(lxcbr0)已自动创建(已在/etc/lxc/default.conf中加以配置)。
创建LXC容器后,窗口的接口就会自动连接到该网桥,那样容器就能与外界进行联系了。
创建LXC容器
为了能够创建某个特定目标环境(比如Debian Wheezy 64位)的LXC容器,你就需要一个相应的LXC模板。幸运的是,Ubuntu上的LXC用户空间工具随带一系列预先准备好的LXC模板。你可以在/usr/share/lxc/templates目录下找到可用的LXC模板。
$ ls /usr/share/lxc/templates
LXC模板其实就是一段脚本而已,用来为某个特定的Linux环境创建容器。你在创建LXC容器时,需要用到这其中一个模板。
比如说,为了创建Ubuntu容器,使用下面这个命令行:
$ sudo lxc-create -n -t ubuntu
默认情况下,它会创建与本地主机同一版本号和同一架构的最小Ubuntu安装系统,这种情况下是Saucy Salamander(13.10)64位。
如果你希望,可以创建任何一种版本的Ubuntu容器,只要传递release参数。比如说,想创建Ubuntu 14.10容器:
$ sudo lxc-create -n -t ubuntu -- --release utopic
它会下载并验证目标容器环境需要的所有程序包。整个过程可能需要几分钟或更长时间,具体取决于容器类型。所以请耐心点。
经过一系列的程序包下载和验证后,LXC容器映像最终创建完毕,你会看到默认的登录资料可供使用。容器存储在/var/lib/lxc/container-name,根文件系统则位于/var/lib/lxc/container-name/rootfs。
LXC创建过程中下载的所有程序包则缓存在/var/cache/lxc里面,那样使用同样的LXC模板创建额外的容器就不用花时间了。
现在不妨看一下主机上的LXC容器列表:
$ sudo lxc-ls –fancy
NAME STATE IPV4 IPV6 AUTOSTART
------------------------------------
test-lxc STOPPED - - NO
想启动一个容器,请使用下面这个命令。“-d”选项将容器作为守护程序来启动。要是没有这个选项,你在启动容器后,会直接被连接到控制台。
$ sudo lxc-start -n -d
启动容器后,不妨再次检查容器状态:
$ sudo lxc-ls –fancy
NAME STATE IPV4 IPV6 AUTOSTART
-----------------------------------------
lxc RUNNING 10.0.3.55 - NO
你会看到,容器处于“RUNNING”(运行)状态,已被赋予了一个IP地址。
你还可以证实,容器的接口(比如vethJ06SFL)自动连接到LXC的内部网桥(lxcbr0),如下所示。
$ brctl show lxcbr0
管理LXC容器
既然我们已知道了如何创建及启动LXC容器,现在不妨看看我们可以如何处理运行中的容器。
首先,我们想要访问容器的控制台。为此,键入这个命令:
$ sudo lxc-console -n
键入Ctrl+a q组合键,退出控制台。
想停止和销毁容器:
$ sudo lxc-stop -n
$ sudo lxc-destroy -n
想把现有容器克隆成另一个容器,使用这些命令:
$ sudo lxc-stop -n
$ sudo lxc-clone -o -n
故障排查
如果你遇到了LXC方面的错误,下面是故障排查方面的几个要点。
1. 你无法创建LXC容器,出现下列错误。
$ sudo lxc-create -n test-lxc -t ubuntu
lxc-create: symbol lookup error: /usr/lib/x86_64-linux-gnu/liblxc.so.1: undefined symbol: cgmanager_get_pid_cgroup_abs_sync
这意味着你运行最新的LXC,却使用较旧的libcgmanager(libcg管理器)。想解决这个问题,你就需要更新libcg管理器。
$ sudo apt-get install libcgmanager0
如何在Ubuntu上借助Docker管理Linux容器
虽说标准的硬件虚拟化技术(比如KVM、Xen或Hyper-V)擅长于在一个物理主机上运行多个操作系统的完全隔离的实例,但这种虚拟化技术在性能、资源和资源配置时间等方面存在各种各样的开销。标准的机器虚拟化实际上可能没有必要,这取决于你的实际使用场合。
另外一种轻型虚拟化方法就是所谓的Linux容器(LXC),它提供了操作系统级别的虚拟化。由于不存在运行虚拟机带来的开销,LXC让用户可以在轻型容器沙盒里面运行标准Linux操作系统的多个实例。如果你搭建一个可复制的开发/测试环境,或者在安全沙盒里面部署应用程序,容器就派得上大用场。
Docker就是为了便于部署Linux容器而开发的这样一款开源工具。Docker正迅速成为容器技术方面的一项事实上的标准,已经被诸如Ubuntu和红帽之类的各大Linux发行版所采用。
我在本教程中将演示如何在Ubuntu 14.04上,借助Docker管理Linux容器。请注意:对Ubuntu的早期版本而言,操作步骤可能略有不同。
眼下,Ubuntu上可用的Docker程序包只支持64位系统。想在32位机器上运行它,你就要利用源代码构建32位版本的Docker(详见这里)。
安装Docker
借助apt-get命令,安装Docker是件轻而易举的事。
$ sudo apt-get install docker.io
为了允许非根用户也可以运行Docker,将你自己添加到docker群组。下面这个命令会允许当前用户运行Docker,无需根用户权限。
$ sudo usermod -a -G docker $USER
退出,然后重新登录,以激活群组成员的变化。
下一步,编辑Docker配置文件,以便更新Docker二进制代码的位置。
$ sudo vi /etc/default/docker.io
DOCKER="/usr/bin/docker.io"
重启Docker服务。
$ sudo service docker.io restart
管理Docker容器
如果你想启动Ubuntu操作系统的一个新的Docker容器,首先需要获取Ubuntu Docker映像文件。下面这个命令会通过网络下载Docker映像文件。
$ docker pull ubuntu
你可以以一种交互模式来开启Ubuntu Docker,如下所示。最后一个参数“/bin/bash”是一旦启动就将在容器里面执行的命令,这里是一个简单的bash外壳命令。
$ docker run -i -t ubuntu /bin/bash
上述命令会立即启动一个Ubuntu容器(这正是容器的魅力所在!),并为你提供容器里面的外壳提示符。这时候,你应该能够访问沙盒环境里面的标准的Ubuntu操作系统了。
想退出Docker容器,在容器里面的提示符处键入“exit”。
你可以启动不同形式的容器。比如,想启动Fedora容器,请执行下面这个命令:
$ docker.io run -i -t fedora /bin/bash
如果本地没有Fedora Docker映像文件,该命令就会首先自动下载映像文件,然后启动Docker。
如果你想启动采用某个发行版版本的容器,也可以这么做。比如说,想启动Ubuntu 13.04 Docker,请执行下面这个命令:
$ docker.io run -i -t ubuntu:13.04 /bin/bash
容器网络
Docker使用Linux网桥将容器彼此互联起来,并将它们连接到外部网络。安装了Docker后,你应该会看到默认情况下自动组建的docker0 Linux网桥。你创建的每个容器都将连接到docker0网桥接口。
自定义Linux网桥
如果你想,也可以使用自定义Linux网桥将诸容器互联起来。为此,你可以建立一个自定义网桥,并对它进行配置,如下所示。你可以为该网桥分配一个单独的子网,并且从子网为Docker分配IP地址。我会使用10.0.0.0/24作为Docker子网。
$ sudo apt-get install bridge-utils
$ sudo brctl addbr br0
$ sudo ifconfig br0 10.0.0.1 netmask 255.255.255.0
想让Docker使用自定义网桥,将“-b=br0”添加到/etc/default/docker.io中的DOCKER_OPTS变量,然后重启Docker服务。
$ sudo service docker.io restart
至此,任何新的容器都会连接到br0,其IP地址会自动从10.0.0.0/24来分配。
其他定制
还有另外几种方法可以定制Docker的默认网络设置,主要是通过改动/etc/default/docker.io中的DOCKER_OPTS变量来实现。
“-dns 8.8.8.8 -dns 8.8.4.4”:指定容器使用的DNS服务器。
“-icc=false”:让诸容器彼此隔离开来。
故障排查
1. 运行docker.io命令时,你会遇到下面这个错误。
dial unix /var/run/docker.sock: no such file or directory(没有此类文件或目录)
出现这个错误,可能是由于Docker守护程序没在运行。检查Docker守护程序的状态,确保先启动它。
$ sudo service docker.io status
$ sudo service docker.io start
Ubuntu Docker 安装和使用
Docker 划分为CE 和EE。CE 即社区版(免费,支持周期三个月),EE 即企业版,强调安全,付费使用。
在Ubuntu系统中安装较为简单,官方提供了脚本供我们进行安装。
执行这个命令后,脚本就会自动的将一切准备工作做好,并且把Docker CE 的Edge版本安装在系统中。
启动Docker CE
建立docker 用户组
默认情况下,docker 命令会使用Unix socket 与Docker 引擎通讯。而只有root 用户和docker 组的用户才可以访问Docker 引擎的Unix socket。出于安全考虑,一般Ubuntu系统上不会直接使用root 用户。因此,更好地做法是将需要使用docker 的用户加入docker用户组。
注销当前用户,重新登录Ubuntu,输入docker info,此时可以直接出现信息。
配置国内镜像加速
在/etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)
重新启动服务
测试
我们通过 docker 的两个参数 -i -t,让 docker 运行的容器实现"对话"的能力:
各个参数解析:
-t: 在新容器内指定一个伪终端或终端。
-i: 允许你对容器内的标准输入 (STDIN) 进行交互。
我们可以通过运行 exit 命令或者使用 CTRL+D 来退出容器。
使用以下命令创建一个以进程方式运行的容器
二、使用Docker安装 MySQL
用 docker search mysql 命令来查看可用版本:
2、拉取 MySQL 镜像
这里我们拉取官方的最新版本的镜像:
3、查看本地镜像
使用以下命令来查看是否已安装了 mysql:
4、运行容器
安装完成后,我们可以使用以下命令来运行 mysql 容器:
大小写敏感
参数说明:
-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
使用docker exec进入Docker容器
从容器里面拷文件到宿主机
docker cp mysql-5.7:/etc/mysql/ /home
从宿主机拷文件到容器里面
docker cp /home/s/my.cnf mysql-5.7:/etc/mysql/
大小写敏感修改
/etc/my.cnf 中的[mysqld]后添加添加lower_case_table_names=1,重启MYSQL服务 0敏感 1不敏感
开启远程连接
5、安装成功
通过 docker ps 命令查看是否安装成功:
6、连接
mysql -u root -P3308 -h 127.0.0.1 -p
ubuntu 怎么进入docker
例如,我有一个ubuntu镜像,这样就可以执行镜像中的bash:
$ sudo docker run -a stdin -a stdout -i -t ubuntu /bin/bash
使用-i -t参数同容器进行数据交互。
docker 安装 ubuntu 怎么用
你好,
Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google公司推出的
Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub上进行维护。
Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。RedHat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。
Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。
在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。
安装docker
docker安装方法一
ubuntu14.04以上的版本都是自带docker安装包的;所以可以直接安装;但是这个一般不是最先版本
sudo apt-get update
sudo apt-get install docker.io
docker安装方法二;安装最新版本
sudo apt-get update
curl -s | sudo sh
这个方法启动docker若出现下面错误;(这个我没遇到)
FATA[0000] Error loading docker apparmor profile: fork/exec /sbin/apparmor_parser: no such file or directory ()
别担心,请安装apparmor软件即可
sudo apt-get install apparmor
用户组和配置文件修改
把当前用户加入到docker用户组中
sudo usermod -a -G docker $USER
添加配置文件
sudo vim /etc/default/docker
在配置文件中添加或修改
DOCKER="/usr/bin/docker"
重启docker
sudo service docker restart #重启
安装完成之后可以测试下面几个命令
查看版本
docker -v
显示如下:
这就表明你安装成功了
查看状态:
sudo service docker status
显示如下:
其他状态命令:
sudo service docker start #启动
sudo service docker stop #关闭
sudo service docker restart #重启
查看镜像:此时应该没有镜像
docker images
显示如下:
安装第一个镜像ubuntu
下载docker 镜像,需要几分钟。
sudo docker pull ubuntu
启动容器,并且进入到Ubuntu容器的bash命令
sudo docker run -i -t ubuntu /bin/bash
输出hello world
下载时的现象:
启动时的现象:其实相当于启动了一个虚拟机;
输出hello world:
ps命令:
Docker常用命令速查
# 下载一个ubuntu镜像
sudo docker pull ubuntu
# 使用ubuntu运行一个交互性的shell,
# 分配一个伪终端,附带stdin和stdout(输入/输出流)
# 如果你想退出分离出来的伪终端,
# 可以使用CTRL -p+CTRL -q --就像先按CTRL -p 然后CTRL -q
sudo docker run -i -t ubuntu /bin/bash
#docker ps命令
sudo docker ps #列出当前所有正在运行的container
sudo docker ps -l #列出最近一次启动的,且正在运行的container
sudo docker ps -a #列出所有的container
#port命令
docker run -p 80:8080 #映射容器的8080端口到宿主机的80端口
#删除容器命令
sudo docker rm `sudo docker ps -a -q`#删除所有容器
sudo docker
ubuntu容器怎么启动的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Ubuntu u盘启动、ubuntu容器怎么启动的信息别忘了在本站进行查找喔。