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那么容器无法手动停止。

相关推荐
PyAIGCMaster10 分钟前
docker学习记录:本地部署mongodb
学习·mongodb·docker
架构文摘JGWZ16 分钟前
一键完成!!网页打包成桌面应用
开发语言·学习·开源软件·工具
拾荒的小海螺1 小时前
Docker:安装 XXL-JOB 分布式调度任务的技术指南
运维·docker·容器
灵魂画师向阳1 小时前
【CSDN首发】Stable Diffusion从零到精通学习路线分享
人工智能·学习·计算机视觉·ai作画·stable diffusion·midjourney
菠菠萝宝1 小时前
【Go学习】-01-1-入门及变量常量指针
开发语言·学习·golang·go·软件工程·web·go1.19
跳河轻生的鱼3 小时前
海思Linux(一)-Hi3516CV610的开发-ubuntu22_04环境创建
linux·单片机·学习·华为
跳跳的向阳花4 小时前
02、Docker学习,理论知识,第二天:基础概念与常用命令
学习·docker·容器
hoppss4 小时前
根据docker file 编译镜像
运维·docker·容器
qq_429856574 小时前
docker 删除容器和镜像
运维·docker·容器
PyAIGCMaster4 小时前
Docker学习记录:安装nginx
学习·nginx·docker