Docker 初体验安装及使用

Posted ownlate

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 初体验安装及使用相关的知识,希望对你有一定的参考价值。

docker是一个开放源代码的软件项目,docker的作用是能将应用封装在独立的容器中运行。

技术分享图片

基本概念:

  • image(镜像)
    • docker 镜像是只读的模板,用来创建容器。
  • container(容器)
    • 容器是镜像创建的运行实例,每个容器相互隔离。
  • repository(仓库)
    • 仓库是存放镜像的地方。

安装docker:

OS:Ubuntu-Server-16.04.2

在安装docker之前一定要满足所需条件:

kernel:大于3.10

平台:x86_64

1.更新软件包索引:

sudo apt-get update?

 

2.使用HTTPS安装软件包库:

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

 

3.添加docker官方GPG密钥并验证:

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

 

4.添加docker软件包库:

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

 

5.安装docker ce:

sudo apt-get update
sudo apt-get install docker-ce      #docker-ce为社区版,企业版为docker-ee

 

6.添加docker到开机启动

sudo systemctl enable docker
sudo systemctl is-enabled docker
sudo systemctl start docker?

 

使用docker:

默认情况下,非root用户是无法操作docker的,为了解决这个问题,可以参考以下方法:

方法1:
    给docker程序增加suid
    chmod u+s /usr/bin/docker
方法2:
    将用户添加到docker组
    安装完docker后,会创建docker组
    cat /etc/group | grep docker    #查看docker组是否存在
    usermod -a -G docker user_name  #使用root用户执行,将用户加入docker组
    id user_name                    #查看用户是否加入docker组

 

查看docker相关信息:

docker info
docker --version?

 

镜像类命令:

docker images                       #查看本地已存在的镜像文件
docker rmi IMAGE ID                 #删除镜像文件
docker rmi -f IMAGE ID              #强制删除镜像文件
docker rmi $(docker images -q)      #一次性删除所有的镜像
docker search NAME                  #搜索镜像
docker pull NAME                    #下载镜像
docker pull NAME:TAG                #下载指定标签镜像
docker pull repository/NAEM:TAG     #下载指定仓库指定标签镜像

 

容器类命令:

docker run
           -i:标准输入,交互
           -t:分配一个终端
           -d:在后台运行容器
           --name:指定容器的名字
           --rm:运行完毕即删除
           -v:绑定挂载卷
           -P:端口映射,端口随机产生
           -p:端口映射,端口指定
           --link:容器互联
docker run centos /bin/echo "Hello world"
docker run --name="centos" -itd centos tail -f /etc/hosts
docker run --rm=true centos cat /etc/passwd
docker run --name=test -itd -v /data:/data centos /bin/bash
docker run --name=test -itd -p 8080:8080 centos /bin/bash
docker run --name=link1 -itd centos
dicker run --name=link2 --link lin1 -itd centos
进入容器:
docker exec -it centos /bin/bash

启动/停止容器:
docker start CONTAINER ID
docker stop CONTAINER ID

删除容器:
docker rm CONTAINER ID
docker rm -f CONTAINER ID
docker rm $(docker ps -q -a)   #一次性删除所有的容器

 

管理类命令:

docker ps                   #查看运行的容器
docker ps -a                #查看所有容器
docker stats                #实时监控容器状态信息
docker inspect CONTAINER    #查看容器详细信息
docker top CONTAINER        #查看运行中容器进程运行状态
docker port CONTAINER?       #查看容器端口映射
docker logs CONTAINER       #查看容器的日志信息

 

导入导出:

镜像:
docker export CONTAINER ID > filename.tar
cat filename.tar | dcker import - image_name
容器:
docker save CONTAINER ID > /path/to/filename.tar
docker load < /path/to/filename.tar
两者区别:
save,会保存该镜像的所有历史记录
export,不会保留历史记录?

 

以上是关于Docker 初体验安装及使用的主要内容,如果未能解决你的问题,请参考以下文章

一超级账本初体验

EdgeX Foundry初体验--安装部署(用户篇)

KVM之初体验——手动及自动化安装KVM脚本

云原生Docker 进阶 -- 阿里云服务器安装Docker Compose与初体验

实战:区块链hyperledger fabric 初体验 - 3: 链码实例安装实例化调用及代码

Docker学习系列Docker初体验