linux怎么安装docker

linux怎么安装docker,第1张

1 在 CentOS 64 上安装 docker
docker当前官方只支持Ubuntu,所以在 CentOS 安装Docker比较麻烦(Issue #172)。
docker官方文档说要求Linux kernel至少38以上,CentOS 64是26的内核,于是我哼哧哼哧的编译安装了最新的kernel 3116,重启后运行docker还是失败,最后找到原因,是因为编译时忘记集成aufs模块了。aufs 需要和 kernel 一起编译,很麻烦。
不过不需要这么麻烦,有强人已经编译好了带aufs模块的内核,见这里Installing dockerio on centos 64 (64-bit)
11 取消selinux,因为它会干扰lxc的正常功能
sudo vim /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
12 安装 Fedora EPEL
sudo yum install >以下是比较经典的Linux编程学习路线:
第一阶段:linux基础入门
1 开班课程介绍-规章制度介绍-破冰活动;
2 Linux硬件基础/Linux发展历史;
3 Linux系统安装/xshell连接/xshell优化/SSH远程连接故障问题排查
4 第一关一大波命令及特殊字符知识考试题讲解
5 L inux基础优化
6 Linux目录结构知识精讲
7 第二关一大波命令及特殊知识考试题讲解(上)
8 第二关一大波命令及特殊知识考试题讲解(下)
9 Linux文件属性一大堆知识精讲
10 Linux通配符/正则表达式
11 第三关一大波命令及重要知识考试题讲解(上)
12 第三关一大波命令及重要知识考试题讲解(下)
13 Linux系统权限(上)
14 Linux系统权限(下)
15 第一阶段结束需要导师或讲师对整体课程进行回顾
第二阶段:linux系统管理进阶
1 Linux定时任务
2 Linux用户管理
3 Linux磁盘与文件系统(上)
4 Linux磁盘与文件系统(中下)
5 Linux三剑客之sed命令
第三阶段:Linux Shell基础
1 Shell编程基础1
2 Shell编程基础234
3 Linux三剑客之awk命令
第四阶段:Linux网络基础
1 计算机网络基础上
2 计算机网络基础下
3 第二阶段结束需要导师或讲师对整体课程进行回顾。
第五阶段:Linux网络服务
1 集群实战架构开始及环境准备
2 rsync数据同步服务
3 Linux全网备份项目案例精讲
4 nfs网络存储服务精讲
5 inotify/sersync实时数据同步/nfs存储实时备份项目案例精讲
第六阶段:Linux重要网络服务
1 >选择基础镜像的难题
在使用Docker部署某类服务时,第一个面临的问题就是选择一个基础镜像。那么如何选择基础镜像更有利于我们的工作呢?
我们知道docker是基于linux的,任何一个镜像,其包含的 bins/libs/files 都可以认为是属于特定linux版本的一部分。linux一切皆文件的思想下,我们在使用docker制作服务镜像部署时,包管理、环境设置、程序安装、命令格式、文件系统、兼容性等对于不同linux版本都可能有一些区别,所以,选择一个习惯使用的linux版本就变得尤为重要。
举例来说,我需要经常用docker部署Python应用。在docker hub中选择哪个基础镜像呢?搜索“适合Python开发的Docker镜像”会有很多文章,常用的主要有Alpine、Stretch、Jessie等,默认版本是基于Ubuntu的,但是太大了。
Alpine是一个微型linux系统,选择这个版本镜像的很多,因为它足够小,但是实际项目使用时却发现各种各样的问题。最大问题就是它的c运行库采用 musl-libc 而不是linux各发行版的 glibc,所以涉及c运行时会有兼容性的问题。
2、定制基础镜像
在选择基础镜像的问题上踩坑无数之后,决定换个角度想:为什么不基于特定的linux版本,自己制作一个基础镜像呢?这样自己又熟悉,又有开发环境来验证问题,而且很多制作应用镜像时遇到的问题,都可以在定制的基础镜像中一次性解决。
从这个想法出发,我选择熟悉的linux版本基础镜像,然后在其中按需求安装Python环境,一切都跟在服务器上安装Python环境一样,这不就又回到了熟悉的 *** 作了吗?不同的是,这些只需要做一次就可以了,得到自己定制的Python基础镜像,后面制作各种应用镜像时,只需要pip安装依赖库、复制文件、添加命令就可以了。
这个方法同样适用其他的环境基础镜像定制,选择自己的linux基础镜像,在其中像往常一样安装需要的环境。这样,就可以从镜像里不熟悉的文件系统中解脱出来了。
3、定制CentOS系统Python基础镜像
下面给出一个实例:
开发环境:CentOS 7
Python版本:36
# 完整功能python3 imiyuer/python:364-centos
FROM centos:751804
MAINTAINER imiyuer <imiyuer@qqcom>
ENV PATH $PATH:/usr/local/python3/bin/
ENV PYTHONIOENCODING utf-8
RUN set -ex \
# 替换yum源
&& mv /etc/yumreposd/CentOS-Baserepo /etc/yumreposd/CentOS-Baserepobackup \
&& curl -o /etc/yumreposd/CentOS-Baserepo >

1下载程序包

下载最新版本的:docker-installexe即可。

该安装包安装完成后,系统上会多出三个软件:

Oracle VM VirtualBox

Git

Boot2Docker for Windows

以上三个默认安装即可。

2 设置环境变量

在命令窗口中,输入ls 如果能找到命令说明环境添加正确。

3 启动DOCKERT

在命令窗口中,切到docker的安装目录下

输入sh:

然后输入startsh,等待启动

第一次启动中,如果有新版本会更新,时间比较长。

如果第二次启动,就非常快了。

4 分析startsh

#!/bin/bashset -e

# clear the MSYS MOTD

clear

cd "$(dirname "$BASH_SOURCE")"

ISO="$HOME/boot2docker/boot2dockeriso"

if [ ! -e "$ISO" ]; then

echo 'copying initial boot2dockeriso (run "boot2dockerexe download" to update)'

mkdir -p "$(dirname "$ISO")"

cp /boot2dockeriso "$ISO"fi

echo 'initializing'

/boot2dockerexe init

echo

echo 'starting'

/boot2dockerexe start

echo

/boot2dockerexe ip

echo 'connecting'

/boot2dockerexe ssh

echo

echoecho '[Press any key to exit]'read

从内容上看主要是执行,如下语句

boot2dockerexe init

boot2dockerexe start

boot2dockerexe ssh

所有在命令行下执行 sh startsh 即可

最近貌似docker也被GFW墙了

所以运行startsh到init时,如果不幸长时间不进入下一步,就说明镜像被GFW挡住了,手动去github上下载镜像,地址为:

下载完毕之后放到目录:

C:\Users\你的用户名\boot2docker\boot2dockeriso

另外如果我们的物理机内存低于4G,那么跑这个sh可能需要修改一下,设置内存占用大小:

boot2docker start -m=512

5 利用SSH工具管理

在windows命令行进入docker后,不能复制,而且 *** 作也不方便,因此用支持SSH的工具来管理是很好的,比如SECURECRT, PUTTY等,推荐用SECURECRT

在命令行下用boot2docker ip 可以查询到IP

boot2docker缺省的用户名是docker,密码是tcuser

登录后的界面:

6 下载镜像

61 下载地址

选择下载 ubuntu-1404-x86_64targz

如果想要其他镜像,到>

62 用FTP工具上传tar包

推荐使用:FileZilla

63 安装

命令:cat ubuntu-1404-x86_64targz |docker import - ubuntu:ubuntu14

速度非常快,大概10几秒就完成了。

64 查看镜像

查看: docker images

65 运行

运行:docker run -i -t ubuntu:ubuntu14 /bin/bash


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13503997.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-20
下一篇 2023-08-20

发表评论

登录后才能评论

评论列表(0条)

保存