docker 安装

[TOC]

2 docker 安装

2.1 docker 安装

如果详细划分的话、docker在Linux上的安装分为三种方式安装、其实他们都是源于rpm来进行安装。

  • 第一种方式是通过脚本、官方会根据这个脚本来进行检测我们本机这么一个服务的平台,然后来匹配安装最适合于本机的版本。但是不适合用于生产环境中
  • 第二种方式是通过yum来进行安装,也就是通过配置官方的yum源来进行安装 。
  • 第三种方式是通过RPM包来进行安装。(最推荐的一种)

2.1.1 通过RPM安装docker

2.1.1.1 官方下载RPM包

RPM下载地址:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

ubuntu 系列地址:https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/

同时也要下载selinux记住上面docker下载的是什么版本我们的selinux就要下载相同的版本、两边要匹配

2.1.1.2 centos 7 上安装docker RPM版

运行docker的时候推荐使用centos7 以上的系统,如果是ubuntu的话就推荐使用16以上。

1、关闭防火墙

[19:58:10 root@docker ~]#systemctl stop firewalld
[19:58:12 root@docker ~]#systemctl disable firewalld

2、关闭selinux

[19:58:17 root@docker ~]#getenforce 
Disabled

3、安装并启动iptables

原因:docker会利用防火墙进行一定的设置,所以我们最好先将防火墙服务进行安装并启动。

#安装并启动防火墙
yum install iptables -y;systemctl start iptables

#清空防火墙默认规则、然后再将防火墙规则保存,这样就是一个干净的防火墙
[20:05:57 root@docker ~]#iptables -F
[20:10:55 root@docker ~]#iptables-save > /etc/iptables.rules

4、更新操作系统软件包

[20:12:19 root@docker ~]#yum update -y

#重启操作系统让他使用我们最新的内核版本
[20:14:38 root@docker ~]#reboot

5、将我们下载的这两个RPM软件包上传至服务器中

#创建docker文件夹
[20:16:34 root@docker ~]#mkdir /docker

#将我们的docker安装包移动至docker文件中
[20:16:55 root@docker ~]#mv docker-ce-* /docker/

6、通过yum安装这两个docker RPM安装包

[20:18:36 root@docker ~]#cd /docker/
[20:18:41 root@docker docker]#yum install -y *

7、启动并设置为开机启动docker

[20:18:57 root@docker docker]#systemctl enable --now docker

2.2 docker 加速配置

我们下载镜像的时候有可能会导致下载失败、原因是docker镜像的下载地址是在国外。所以我们可以通过国内的一些例如 阿里云可以给我们提供docker 加速配置。

2.2.1 获取docker加速地址

首先我们需要登陆阿里源的docker官网,进去之后注册一个用户、得到一个docker加速的代码ID。

浏览器打开 http://cr.console.aliyun.com,注册或登录阿里云账号,点击左侧的镜像加速器,将会得到一个专属的加速地址,而且下面有使用配置说明:

2.2.2 生成配置文件:

1、在etc下创建一个docker目录

[20:44:02 root@docker docker]#sudo mkdir -p /etc/docker

2、在这个目录中创建一个docker的配置文件为daemon.json,再将阿里云的容器镜像地址添加进去

[20:42:01 root@docker docker]#sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://hpqoo1ip.mirror.aliyuncs.com"]
}
EOF

3、重新加载系统服务、然后重启docker

[20:44:26 root@docker docker]#sudo systemctl daemon-reload
[20:44:31 root@docker docker]#sudo systemctl restart docker

4、输入docker info会发现阿里的容器镜像已经添加

2.3 docker 化应用体验

上面我们已经安装和加速了docker应用、现在我们就来体验一下docker应用。

2.3.1 通过docker部署一个LNMP的环境

传统我们来构建一个wordpress 架构的话需要一个操作系统、然后再去部署nginx、MySQL、php。这些平台部署好了之后我们再去将代码放到默认的仓库下,然后在docker中我们只需几行代码即可。

传统的word press安装需要以下几个软件版本支持

1、下载wordpress数据库镜像

[20:48:36 root@docker docker]#docker pull wordpress

docker pull:拉取镜像
wordpress:镜像名

2、下载mariadb数据库镜像

[21:06:52 root@docker docker]#docker pull mariadb

docker pull:拉取镜像
mariadb:镜像名

3、通过docker images 查看到已经下载好了这两个镜像

[21:07:43 root@docker docker]#docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mariadb             latest              8075b7694a2d        3 days ago          407 MB
wordpress           latest              04b52c96c4b6        5 days ago          543 MB

4、docker运行mariadb数据库服务

[21:08:59 root@docker docker]#docker run --name db --env MYSQL_ROOT_PASSWORD=123456 -d mariadb

docker run :表示从镜像运行为容器做。  

--name db:然后给这个容器起一个名字叫做db。  

--env 然后像这个容器中注入环境变量。环境变量的好处数据库在做初始化的时候,需要告诉他mysql的初始化密码为多少,而在这里我们可以通过指定环境变量的方式告诉他,我们现在的mysql初始化密码为多少。

MYSQL_ROOT_PASSWORD=123456 : 这个是数据库的初始化密码。

-d :放到后台运行,因为mysql是一个前台守护进程。

mariadb:数据库的服务是mariadb

5、docker 运行word press 博客服务

[21:10:03 root@docker docker]#docker run --name MyWordPress --link db:mysql -p 8080:80 -d wordpress

docker run :表示从镜像运行为容器做。 

--name MyWordPress:给容器起名为MyWordPress

--link:表示为链接关系

db:mysql:就是上面一条命令的db,然后mysql是他起的一个别名,他会向/etc/hosts文件里写一个解析记录,解析的值就是上一条命令中运行的容器地址,这样的话就可以通过别名来进行访问了

-p 8080:80:表示的是端口映射,因为他是基于我们容器级别的隔离所以他会有自己独立的网络空间,怎么外网才可以访问他呢,做我们的dnat(反向代理将自己的服务端口暴露出去供外网访问) 映射。
8080:表示本机的端口、80:表示容器的端口,也就是访问本机的8080端口就可以访问到容器的80端口。

-d :放到后台运行,因为mysql是一个前台守护进程。

word press:启动的是一个word press的容器

5、通过docker ps命令查看正在运行的镜像

[21:11:38 root@docker docker]#docker ps

6、测试http://10.0.0.117:8080/

通过访问我们docker 服务器上的8080端口word press已经部署好了

安装word press

登录word press

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇