linux安装容器docker

linux安装容器docker

Scroll Down

1、在ubuntu中安装docker

更新ubuntu的apt源索引

sudo apt-get update

安装包允许apt通过HTTPS使用仓库

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

添加Docker官方GPG key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

设置Docker稳定版仓库

sudo add-apt-repository \   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

添加仓库后,更新apt源索引

sudo apt-get update

安装最新版Docker CE(社区版)

sudo apt-get install docker-ce

检查Docker CE是否安装正确

sudo docker run hello-world

出现如下信息,表示安装成功

640.png

为了避免每次命令都输入sudo,可以设置用户权限,注意执行后须注销重新登录

sudo usermod -a -G docker $USER

2、启动与停止

安装完成Docker后,默认已经启动了docker服务,如需手动控制docker服务的启停,可执行如下命令

启动docker

sudo service docker start

停止docker

sudo service docker stop

重启docker

sudo service docker restart

3、Docker镜像操作

什么是Docker镜像

1、docker是一个用Go语言实现的开源项目,可以让我们方便的创建和使用容器,docker将程序以及程序所有的依赖都打包到docker container,这样你的程序可以在任何环境都会有一致的表现,这里程序运行的依赖也就是容器就好比集装箱,容器所处的操作系统环境就好比货船或港口,程序的表现只和集装箱有关系(容器),和集装箱放在哪个货船或者哪个港口(操作系统)没有关系。

因此我们可以看到docker可以屏蔽环境差异,也就是说,只要你的程序打包到了docker中,那么无论运行在什么环境下程序的行为都是一致的,程序员再也无法施展表演才华了,不会再有“在我的环境上可以运行”,真正实现“build once, run everywhere”。

此外docker的另一个好处就是快速部署,这是当前互联网公司最常见的一个应用场景,一个原因在于容器启动速度非常快,另一个原因在于只要确保一个容器中的程序正确运行,那么你就能确信无论在生产环境部署多少都能正确运行。

image.png

Docker 把应用程序及其依赖,打包在 image 文件里面。只有通过这个文件,才能生成 Docker 容器。image 文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例。

image 是二进制文件。实际开发中,一个 image 文件往往通过继承另一个 image 文件,加上一些个性化设置而生成。举例来说,你可以在 Ubuntu 的 image 基础上,往里面加入 Apache 服务器,形成你的 image。

image.png

列出镜像

docker images

我们在运行同一个仓库中的不同镜像时,可以通过在仓库名后面加上一个冒号和标签名 来指定该仓库中的某一具体的镜像,

例如:

docker run --name custom_container_name –i –t docker.io/ubunto:12.04 /bin/bash

搜索镜像

docker search django

拉取镜像
Docker维护了镜像仓库,分为共有和私有两种,共有的官方仓库Docker Hub(https://hub.docker.com/)是最重要最常用的镜像仓库。私有仓库(Private Registry)是开发者或者企业自建的镜像存储库,通常用来保存企业 内部的 Docker 镜像,用于内部开发流程和产品的发布、版本控制。

要想获取某个镜像,我们可以使用pull命令,从仓库中拉取镜像到本地,如

docker pull hackeryx/ubuntu:16.04

删除镜像

docker image rm 镜像名或镜像id

4、Docker容器操作

创建容器
docker run [option] 镜像名 [向启动容器中传入的命令]

交互式容器

例如,创建一个交互式容器,并命名为myubuntu

docker run -it --name=ubuntu --network=host hackeryx/ubuntu:16.04 /bin/bash

在容器中可以随意执行linux命令,就是一个ubuntu的环境,当执行exit命令退出时,该容器也随之停止。

守护式容器
创建一个守护式容器:如果对于一个需要长期运行的容器来说,我们可以创建一个守护式容器。在容器内部exit退出时,容器也不会停止。

docker run -itd --name=ubuntu2 --network=host hackeryx/ubuntu:16.04

进入已运行的容器

docker exec -it 容器名或容器id 进入后执行的第一个命令

例如

docker exec -it ubuntu /bin/bash

查看容器

列出本机所有容器,包括已经终止运行的

docker ps -a

停止与启动容器
停止一个已经在运行的容器

docker container stop 容器名或容器id

启动一个已经停止的容器

docker container start 容器名或容器id

kill掉一个已经在运行的容器

docker container kill 容器名或容器id

删除容器

docker container rm 容器名或容器id

5. 将容器保存为镜像
我们可以通过如下命令将容器保存为镜像

docker commit 容器名 镜像名

6. 镜像备份与迁移
我们可以通过save命令将镜像打包成文件,拷贝给别人使用

docker save -o 保存的文件名 镜像名

例如

docker save -o ./ubuntu.tar ubuntu
在拿到镜像文件后,可以通过load方法,将镜像加载到本地
docker load -i ./ubuntu.tar

centos安装docker

安装依赖包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

设置阿里云镜像源

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装 Docker-CE

sudo yum install docker-ce

中间会有选择是否安装一直yes就行了