云计算

docker的介绍以及基本使用(1)

reference:菜鸟编程docker教程

docker的牛逼之处

docker是一个开源的应用容器引擎,基于Go语言开发

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

举个简单的例子。

在ubuntu系统中可以运行centos,可以运行kail等发行版

当运行某个应用程序需要不同的环境时,即可以考虑使用docker,不仅方便,而且相互之间不受影响,更重要的是性能开销低。

如图,当前的linux发行版是ubuntu,在使用docker运行kail时,发行版将由ubuntu环境变为kail环境。

ubuntu如何安装docker

安装需要的包

sudo apt-get install apt-transport-https ca-certificates software-properties-common curl

添加GPG密匙,并添加Docker-ce软件源,使用中国科技大学源

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu\
$(lsb_release -cs) stable"

更新

sudo apt-get update

安装docker-ce

sudo apt-get install docker-ce

添加当前用户到docker组(可不使用sudo 可选)

sudo usermod -aG docker $USER

测试docker

sudo docker run hello-world

若添加当前用户到了docker组

使用docker run hello-world

如果出现问题

使用sudo chmod 666 /var/run/docker.sock

配置加速docker

在/etc/docker/daemon.json中添加阿里云的镜像服务

{
  "registry-mirrors": ["https://ng0enh5k.mirror.aliyuncs.com"]
}
#重启
systemctl daemon-reload
systemctl restart docker

docker架构

  • 镜像(Image):相当于是一个root文件系统。比如官方镜像ubuntu16.04就包含了完成的一套ubuntu16.04最小系统的root文件系统。
  • 容器(Container):镜像和容器的关系,就像是面对对象程序中设计的类和实例一样,镜像是静态的定义,容器是镜像中运行时的实体。容器可以被创建,启动,停止,删除等。
  • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

docker基本使用(万年不变的hello world)

我们创建一个容器来运行hello world

docker run ubuntu:15.10 /bin/echo "Hello world"

​ 参数解释:

  • docker:二进制程序
  • run 运行容器
  • ubuntu15.01指定要运行的镜像,Docker首先从本地上查找镜像是否存在,如果不存在,docker就会从镜像仓库Docker hub下载该镜像
  • /bin/echo "hello world":在该容器中输入该命令,打印hello world

与容器进行交互

使用-i -t参数

  • -t: 在新容器内指定一个伪终端或终端。
  • -i: 允许你对容器内的标准输入 (stdin) 进行交互。
sudo docker run -i -t ubuntu:15.10
echo "hello world"

可以看到已经进入了ubuntu15.10

docker镜像使用

  • 列出本地镜像

    docker images

    • REPOSITORY :仓库源
    • TAG :镜像的标签或者说版本
    • IMAGE ID :镜像ID
    • CREATE :镜像创建时间
    • SIZE :镜像大小
  • 获取一个新的镜像

    docker pull

    未指定TAG,则会下载Latest

    未指定TAG,默认也使用Latest的镜像

    可以看到已经使用了最新版ubuntu:20.04

  • 查找镜像

    docker search

  • 删除镜像

    docker rmi -f ubuntu:15.10

docker容器使用

  docker run -it xxx 

docker ps # 查看正在运行的容器
docekr ps -a # 查看所有(包括停止的容器)
docker start id

# 后台运行
docker run -itd --name ubuntu20.04 ubuntu:latest 

# 停止容器
docker stop id

# 重启停止的容器
docker restart id

# 在使用-d参数时,容器启动后会进入后台,若想进入容器,使用docker exec
docker exec -it id /bin/bash

# 删除容器
docker rm -f id

go高并发之锁的概念(资源竞争)以及channel的使用

上一篇

docker使用案例:创建容器并使用ssh登录

下一篇

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片

个人微信公众号

we-tuiguang

qq交流群

群号:1046260719

微信扫一扫

微信扫一扫