容器化方案Docker

python编程快速上手(持续更新中…)

python实战项目(Django技术点)


1. Docker介绍

Docker中文社区文档
Docker 是轻量级的应用容器框架。
Docker 可以打包、发布、运行任何的应用。
Docker 是一个客户端-服务端(C/S)架构程序。
客户端只需要向服务端发出请求,服务端处理完请求后会返回结果。

Docker 包括三个基本概念:
镜像(Image)
Docker的镜像概念类似于虚拟机里的镜像,是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。

例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了MySQL或用户需要的其它应用程序。

容器(Container)
Docker容器是由Docker镜像创建的运行实例,类似VM虚拟机,支持启动,停止,删除等。

每个容器间是相互隔离的,容器中会运行特定的应用,包含特定应用的代码及所需的依赖文件。

仓库(Repository)
Docker的仓库功能类似于Github,是用于托管镜像的。

2. Docker安装

1.源码安装Docker CE

sudo mkdir /home/docker

上传docker-ce_17.03.2_ce-0_ubuntu-trusty_amd64.deb包

sudo dpkg -i docker-ce_17.03.2ce-0ubuntu-xenial_amd64.deb
$ docker -help

2.安装完成Docker后,默认已经启动了docker服务。

#启动docker
$ sudo service docker start

#重启docker
sudo service docker restart

#停止docker
sudo service docker stop

3.检查Docker CE是否安装正确

sudo docker run hello-world

docker启动失败

python@ubuntu:~$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; disabled; vendor preset: 
   Active: failed (Result: exit-code) since 一 2021-10-25 09:38:16 CST; 39s ago
     Docs: https://docs.docker.com
  Process: 30425 ExecStart=/usr/bin/dockerd -H fd:// (code=exited, status=127)
 Main PID: 30425 (code=exited, status=127)

解决:
原本想卸载,执行sudo apt-get remove docker,提示“apt-get -f install”,执行后尽然安装成功啦

python@ubuntu:~$ sudo apt-get remove docker
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
软件包 docker 未安装,所以不会被卸载
您可能需要运行“apt-get -f install”来纠正下列错误:
下列软件包有未满足的依赖关系:
docker-ce : 依赖: libsystemd-journal0 (>= 201) 但无法安装它
推荐: aufs-tools 但是它将不会被安装
推荐: cgroupfs-mount 但是它将不会被安装 或
cgroup-lite 但是它将不会被安装
E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt-get -f install”(也可以指定一个解决办法)。

测试(sudo docker run hello-world)
Unable to find image ‘hello-world:latest’ locally

docker在本地没有找到hello-world镜像,也没有从docker仓库中拉取镜像,出项这个问题的原因:是应为docker服务器再国外,我们在国内
无法正常拉取镜像,所以就需要我们为docker设置国内阿里云的镜像加速器;
需要修改配置文件 /etc/docker/daemon.json 如下

{ 
	"registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"] 
}

在这里插入图片描述

3. Docker镜像操作

#查看镜像
docker image ls

#下载redis
docker pull redis

#导出镜像
sudo docker save -o redis.rar redis

#删除镜像
sudo docker image rm redis:latest

#加载本地镜像-拖进来
sudo docker load -i

4. Docker容器操作

#查看容器
sudo docker container ls --all
或者
sudo docker container ls -a

#清空容器
sudo docker rm -f $(sudo docker ps -a -q)

#运行镜像
sudo docker run [选项] 镜像名 [指令]

sudo docker run -it ubuntu
退出:exit

守护进程
sudo docker run -dit ubuntu

进入运行容器中
sudo docker exec -it ubuntu2 /bin/bash

设置名子
sudo docker run -dit --name=myubuntu ubuntu

停止容器
sudo docker container stop myubuntu

开启
sudo docker container start myubuntu

删除
sudo docker container rm -f myubuntu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值