01、Docker学习,第一天:简单入门与安装

Docker学习,第一天:简单入门与安装

一、Docker简介

环境配置如此之麻烦,换台机器,重来一次,费事费力。安装的时候,把原始环境一模一样的复制过来。开发人员利用Docker可以消除写作编码时,"在我的机器上可以正常工作"的问题。

xml 复制代码
Docker包含两方面的技术:
	镜像技术:打破"代码即应用"的观念,从系统环境开始,从底至上打包应用、
	包含:运行文档,配置环境,运行环境,运行依赖包,操作系统发行版,内核等。

Docker是基于Go语言实现的云开源项目。build ship and run any app,anywhere

只需要一次配置好环境,换到别的机器上就可以一键部署,大大简化了操作。

xml 复制代码
能干嘛:
	解决了运行环境和配置问题软件容器,方便做持续集成病有助于整体发布的容器虚拟化技术

注意:Docker要求Centos6.5以上的版本

xml 复制代码
三要素:
	仓库、镜像、容器

镜像---类似模板,一个只读的模板,一个镜像可以创建很多个容器
容器---容器是用镜像创建的运行实例。Docker利用容器独立运行一个或一组应用。可以看做一个简易版的Linux环境。
仓库---集中存放镜像的地方。

1、Docker本身是一个容器运行载体或称之为管理引擎。我们把应用程序和配置以来打包好行程一个可交付的运行环境,这个打包好的运行环境就似乎image镜像文件。只有通过这个镜像文件才能生成Docker容器。image文件可以看做是容器的模板。Docker根据image文件生成容器的实例。同一个image文件,可以生成多个同时运行的容器实例

2、image文件生成的容器实例,本身也是一个文件,称之为镜像文件

3、一个容器运行一种服务,当我们需要的时候,就可以通过docker客户端创建一个对应的运行实例,也就是我们的容器

4、至于仓储木九十放了一对镜像的地方,我们可以吧镜像发布到仓库中,需要的时候从仓库中拉下来就可以了

二、Docker的安装

1、Centos6.8安装

xml 复制代码
1》、yum install -y epel-release
		Docker是用epel发布,RHEL系的OS首先要确保已经持有EPEL仓库,否则先检查OS版本,然后安装相应的EPEL包
2》、yum install -y docker-io
3》、安装配置文件:/etc/sysconfig/docker
         other_args=
		 DOCKER_CERT_PATH=/etc/docker
		 DOCKER_NOWARN_KERNEL_VERSION=1
4》、启动Docker后台服务:service docker start
5》、Docker version验证

2、Centos7安装

xml 复制代码
官网文档:  https://docs.docker.com/install/linux/docker-ce/centos/

1》、yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
2》、yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
3》、可选:yum-config-manager --enable docker-ce-nightly

yum-config-manager --enable docker-ce-test

4》、yum install docker-ce docker-ce-cli containerd.io

5》、启动 systemctl start docker
6》、测试 docker run hello-world

3、卸载Docker

xml 复制代码
yum remove docker \
			docker-client \
			docker-client-latest \
            docker-common \
            docker-latest \
            docker-latest-logrotate \
            docker-logrotate \
            docker-selinux \
            docker-engine-selinux \
            docker-engine \

4、docker开机启动

xml 复制代码
systemctl enable docker   ##开启开机自启
systemctl disable docker  ##关闭开机自启

5、docker容器自启动

我们设置了docker自启动后,docker可以管理各种容器了,对于容器我们也可以设置重启的策略。

在容器退出或断电开机后,docker可以通过在容器创建时的--restart参数来指定重启策略;

xml 复制代码
no			不自动重启容器. (默认值)
on-failure	  容器发生error而退出(容器退出状态不为0)重启容器,可以指定重启的最大次数,如:on-failure:10
unless-stopped 		 在容器已经stop掉或Docker stoped/restarted的时候才重启容器
always 			在容器已经stop掉或Docker stoped/restarted的时候才重启容器,手动stop的不算
xml 复制代码
# 设置启动策略
docker run --restart always --name mynginx -d nginx
xml 复制代码
docker update 84c  --restart always

如果容器已经被创建,我们想要修改容器的重启策略

xml 复制代码
docker update --restart no mynginx

或

docker container update --restart=always 3e64cad716c0

注意:

容器只有在成功启动后restart policy才能生效。这里的"成功启动"是指容器处于up至少10秒且已经处于docker监管。这是避免没有成功启动的容器陷入restart的死循环。

如果手动stop一个容器,容器设置的restart policy将会被忽略,除非Docker守护进程重启或者容器手动重启;这是避免了如果重启策略设置了always,如果不忽略policy那么容器无法手动停止。

相关推荐
阿福不是狗5 小时前
Python使用总结之Mac安装docker并配置wechaty
python·macos·docker
阿阳微客5 小时前
Steam 搬砖项目深度拆解:从抵触到真香的转型之路
前端·笔记·学习·游戏
藥瓿亭8 小时前
K8S认证|CKS题库+答案| 3. 默认网络策略
运维·ubuntu·docker·云原生·容器·kubernetes·cks
背太阳的牧羊人9 小时前
sudo docker exec -it backend bash 以交互方式(interactive)进入正在运行的 Docker 容器的命令行环境
docker·容器·bash
Chef_Chen9 小时前
从0开始学习R语言--Day18--分类变量关联性检验
学习
键盘敲没电10 小时前
【IOS】GCD学习
学习·ios·objective-c·xcode
gsls20080810 小时前
ocrapi服务docker镜像使用
运维·docker·容器
海的诗篇_10 小时前
前端开发面试题总结-JavaScript篇(一)
开发语言·前端·javascript·学习·面试
AgilityBaby10 小时前
UE5 2D角色PaperZD插件动画状态机学习笔记
笔记·学习·ue5
AgilityBaby10 小时前
UE5 创建2D角色帧动画学习笔记
笔记·学习·ue5