部署神器 -- docker,一文带你从开发变运维

写这篇文章之前,不禁让我想到那些年一个人开发部署的日子,有时候部署遇到一个问题比我开发一个需求还要久,真是让人掉头发。
自从认识docker后,少掉了好多头发,两个字:巴适!
废话不多说,直接开始正文!

docker 是什么东西

官网中描述:docker的思想来自于集装箱。
把我的liunx服务器比喻成货船,那我们发布在里面的每个服务就是集装箱,各种各样的货物(服务)被集装箱标准化了,并且互不干扰,这样我们就不用专门区分运送水果和运送化学的货船了。换句话说就是每个服务都有他独立的系统。

Docker的基本组成

客户端和守护进程

Docker是C/S(客户端client-服务器server)架构模式。
docker通过客户端连接守护进程,通过命令向守护进程发出请求,守护进程通过一系列的操作返回结果。
docker客户端可以连接本地或者远程的守护进程。
docker客户端和服务器通过socket或RESTful API进行通信。

docker image – 镜像

可以把镜像比喻成一种进出规则制定,也是容器的核心,相对于容器的源代码,里面记载着容器初始化之前的各种操作和条件

docker Container – 容器

容器比喻是集装箱,根据镜像订制的规则生成后交由docker执行,可以执行一个或者多个进出。
镜像相当于是构建和打包阶段,容器相当于启动和执行阶段。容器可以运行、停止、删除,和其他容器互补干扰。

docker Registry – 仓库

docker用来保存镜像的仓库,有公开和私有,比如热门的镜像docker官网的公有仓库都有提供。当然我们也可以创建自己私有的仓库。

下面开始docker的安装并使用

  • centos7系统机器一台(阿里云或者虚拟机均可,保证有网,其他系统的自行了解),我这里ip:0.220

docker的安装

1. 卸载之前的docker
sudo yum remove docker \
        docker-client \
        docker-client-latest \
        docker-common \
        docker-latest \
        docker-latest-logrotate \
        docker-logrotate \
        docker-engine
2. 安装必要的依赖
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
3. 设置docker仓库
sudo yum-config-manager \
      --add-repo \
      https://download.docker.com/linux/centos/docker-ce.repo  
4. 安装docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
5. 启动docker & 设置开机启动
sudo systemctl start docker && sudo systemctl enable docker
6. 配置阿里云镜像加速器

阿里云镜像服务这个地址获取

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["您的加速器地址"]
}
EOF
sudo systemctl daemon-reload
//重启docker
sudo systemctl restart docker

7. docker 常用命令
	docker pull        拉取镜像到本地
	docker run         根据某个镜像创建容器
	-d                 让容器在后台运行,其实就是一个进程
	--name             给容器指定一个名字
	-p                 将容器的端口映射到宿主机的端口
	docker exec -it <name>  /bin/sh   进入到某个容器中并交互式运行
	docker image ls	   查看所有镜像
	dokcer ps -a	   查看首页容器
	docker stop/start <name> 停止/启动容器
	docker rm <name>   删除容器
	docker rmi <cid>   删除镜像
    docker network create my-net  创建网络my-net
	docker network ls  查看网络
	docker build -t <image-name> . 生成镜像
	docker <network> inspect <my-net> 查看详细信息 网络 容器(docker inspect <name>)
	docker rm  $(docker container ls -a -q) 批量删除容器,可适用于开始停止
	docker rm  $(docker container ls -a -q) 批量删除镜像

nginx案例演示

1. 查找镜像

进入docker官网镜像仓库搜索nginx,然后进入第一个(官方认证标识的)
在这里插入图片描述
上图红圈位置写明了拉取最新镜像的命令。接下去我们去拉取试试

2. 拉取镜像

执行 docker pull nginx
查询镜像 docker image ls

3. 启动容器

根据上面的docker 命令,我们直接后台启动。由于要外网访问,我们映射一个80端口

docker run -d -p 80:80 nginx  
#启动完成查看镜像
docker ps -a

接下来访问,http://192.168.0.220:80
在这里插入图片描述
至此就是docker使用的全部内容了,下一节 docker-compose–单机多容器神器

人生自古谁无死,学海无涯苦作舟

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值