码迷,mamicode.com
首页 > 其他好文 > 详细

Docker 初体验安装及使用

时间:2018-01-07 14:03:07      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:/etc/   3.1   post   system   one   curl   tab   star   保存   

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 初体验安装及使用

标签:/etc/   3.1   post   system   one   curl   tab   star   保存   

原文地址:https://www.cnblogs.com/ownlate/p/8227533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!