docker使用

1、docker介绍

在这里插入图片描述
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

白话解释:docker可以理解成是手机中的应用市场,有了应用市场,就不用自己一个一个百度搜索软件并下载了,直接在应用市场中可以一键下载!

白话作用:docker帮助我们安装微服务开发需要的中间件,使用简单的命令控制docker安装即可,不需要自己手动安装!

2、docker安装

1、清空原有组件残留:之前安装过旧版本,使用一下命令可以卸载!

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

2、设置docker仓库

在新主机上首次安装Docker Engine-Community之前,需设置Docker仓库。之后您可以从仓库安装和更新Docker安装所需要的软件包。yum-utils提供了yum-config-manager,并且device mapper存储驱动程序需要device-mapper-persistent-data和lvm-2。

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken

3、配置yum阿里镜像

# 设置docker镜像源
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast

4、安装Docker

docker-ce为社区免费版本,稍等片刻,docker即可安装成功。

yum install -y docker-ce

5、启动docker

  • a.关闭防火墙
    • docker涉及端口映射,建议先关闭防火墙,避免端口屏蔽!
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
  • b.启动和停止docker
systemctl start docker  # 启动docker服务

systemctl stop docker  # 停止docker服务

systemctl restart docker  # 重启docker服务

docker -v

6、配置docker阿里镜像

更新docker对应的仓库,为阿里镜像,提升下载速度!

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://as08lme3.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

3、docker基本概念

  • 镜像(Image):Docker镜像(Image),就相当于一个root文件系统。比如官方镜像ubuntu:16.04就包含了完整的一套Ubuntu16.04最小系统的root文件系统(软件安装包)
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等(安装包安装以后的运行程序)
  • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。(存放安装包的仓库)
    • http://hub.docker.com:查看镜像。我们的目标就是从仓库中拉取镜像,启动运行成容器,即可!

4、docker镜像基本命令

基本命令:

在这里插入图片描述
基本练习:

1、拉取nginx镜像
输入:http://hub.docker.com
搜索:nginx

docker pull nginx //默认 最新 latest
docker pull nginx:版本号

docker images 查看版本

2、镜像备份和加载
使用save和load进行镜像本地备份和镜像加载!

docker save 镜像名 -o /输出的位置
docker load -i /输入的镜像文件

5、docker容器相关命令

基本命令:

在这里插入图片描述
基本练习:

运行nginx容器,并进行访问:

docker run --name containerName -p 80:80 -d nginx


docker run :创建并运行一个容器
--name : 给容器起一个名字,比如叫做mn
-p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
-d:后台运行容器
nginx:镜像名称,例如nginx

6、docker数据卷

直接操作数据

  • 步骤一:进入容器,修改容器执行命令
docker exec -it 容器名 bash 

命令解读:
  docker exec :进入容器内部,执行一个命令
  -it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
  mn :要进入的容器的名称
  bash:进入容器后执行的命令,bash是一个linux终端交互命令
  • 步骤二:查找nginx对应存储html位置
进入nginx的HTML所在目录 /usr/share/nginx/html

cd /usr/share/nginx/html

  • 步骤三:修改index.html内容

不支持vi, nginx镜像只会打包需要的标准命令

sed -i 's#Welcome to nginx#Nginx是最快的服务器!#g' index.html
sed -i 's#<head>#<head><meta charset="utf-8">#g' index.html

总结:

  • 修改容器内数据,比较繁琐
  • 需要进入后,修改
  • 还会有命令限制

命令数据操作

  • 介绍:数据卷(volume)是一个虚拟目录,指向宿主机文件系统中的某个目录
  • 基本命令:
数据卷操作的基本语法如下:
docker volume [COMMAND]
命令如下:

create  创建一个volume
inspect  显示一个或多个volume的信息
ls    列出所有的volume
prune    删除未使用的volume
rm    删除一个或多个指定的volume

创建容器,并关注数据卷语法
  docker run \
  --name mn \
  -v html:/root/html \
  -p 8080:80
  nginx \
  
docker run :就是创建并运行容器
-- name mn :给容器起个名字叫mn
-v html:/root/htm :把html数据卷挂载到容器内的/root/html这个目录中
-p 8080:80 :把宿主机的8080端口映射到容器内的80端口
nginx :镜像名称

  • 数据卷练习
    • 安装nginx容器,并且将html文件夹关联到volume上!
创建容器并挂载数据卷到容器内的HTML目录

docker run --name mn -v html:/usr/share/nginx/html -p 80:80 -d nginx

进入html数据卷所在位置,并修改HTML内容

# 查看html数据卷的位置
docker volume inspect html
# 进入该目录
cd /var/lib/docker/volumes/html/_data
# 修改文件
vi index.html

7、docker Compose安装

安装docker compose,为了后期快速进行微服务集群部署!

  • 导入compose文件。注意:将文件上传到/usr/local/bin 文件夹
  • 修改访问权限
# 修改权限
chmod +x /usr/local/bin/docker-compose
  • 下载自动补全命令
echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts

# 补全命令
curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值