热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

DockerUbuntu19.04安装dockerce

文章目录UbuntuDocker安装1、卸载老版本2、从仓库安装Docker社区版2.1配置仓库2、安装Docker-ce3、测试3Docker常用命令UbuntuDocker安装


文章目录

    • Ubuntu Docker安装
      • 1、卸载老版本
      • 2、从仓库安装Docker社区版
        • 2.1 配置仓库
        • 2、安装Docker-ce
        • 3、测试
    • 3 Docker常用命令


Ubuntu Docker安装

参考官网:https://docs.docker.com/install/linux/docker-ce/ubuntu/

目前对新的ubuntu版本: 16.04. 18.04. 18.10,19.04都支持

博主Ubuntu版本:19.04


1、卸载老版本

没有安过的可以跳过


$ sudo apt-get remove docker docker-engine docker.io containerd runc



2、从仓库安装Docker社区版


2.1 配置仓库

$ sudo apt-get update$ sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg-agent \software-properties-common$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -$ sudo apt-key fingerprint 0EBFCD88$ sudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) \stable"

2、安装Docker-ce

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

3、测试

按理到这里就可以了,运行sudo docker run hello-world 进行测试即可,但由于默认的源在国外,有时会连接超时,测试不成功,所以一般都会配置国内的镜像加速器。

​ 3.1、配置阿里云镜像加速器

​ 登陆阿里云–>搜索容器镜像服务 -->如果你第一次使用会弹出如下界面让开通服务,按操作开通即可。

完成以后,点击左下的镜像加速器,选择对应的操作系统,然后将配置指令在终端依次执行完成即可。

3.2 再运行sudo docker run hello-world,看到这个说明你的docker安装和运行都OK了。

祝好运!!


3 Docker常用命令

命令都需要在root权限执行, ctenos 直接运行命令,ubuntu , 命令前+ sudo


  • 1 基本命令

    docker version
    docker info
    docker --help

  • 2 镜像命令

    • docker images [options] : 查看本地主机上的镜像列表
    REPOSITORYTAGIMAGE IDCREATEDSize
    镜像仓库源镜像版本标签镜像ID镜像创建时间镜像大小

    [optiions]为可选参数:

    options
    -a列出本地所有的镜像(含中间映像层)
    -q只显示镜像ID
    • docker search [options] 镜像名 查看镜像源

      eg: docker search unbuntu

      eg: docker search -s 30 ubuntu

    • docker pull 镜像名 [:TAG] 从源拉取镜像

    • docker rmi -f 镜像名 [: TAG] 强制删除单个镜像

      • docker rmi -f name1 name2
      • docker rmi -f $(docker image -qa ) 删除所有
  • 3 容器命令

    • docker pull ubuntu : 拉下一个ubuntu的镜像

    • 1、新建并启动容器: docker run [OPTIONS] IMAGES [COMMAND]

      • OPTIONS
      • –name = “容器新名字”
      • -i: 启动交互式容器
      • -t:伪终端
      • –rm :容器结束会自动删除

      eg: docker run -it --name myubuntu IMAGE ID IMAGE ID 对应ubutu镜像ID

    • 2、 列出当前所有正在运行的容器: docker ps [OPTIONS]

      • eg: docker ps [-l],[-n]

      • 容器关闭退出: exit | Ctrl+D

      • 容器不关闭退出: ctrl+q+p ,

        ​ 再次进入 docker attach 容器名或ID

        ​ 不进入容器进行命令:docker exec -it 容器ID bash

    • 3 重启容器: docker restart 容器名或容器ID

    • 4 关闭容器 docker stop/skill 容器名或容器ID

    • 5 删除容器 docker rm 停止的容器名或ID

  • 3 其他命令

    • 后台启动容器: docker run -d 镜像名或ID
    • 从容器拷贝文件: docker cp 容器ID localdir
      • eg: docker cp containerId:/file localdir
  • 4 定制自己的镜像: 通过提交自定义的容器成为新的镜像,或通过Dockerfile构建镜像

    • docker commit -m="描述信息" -a="作者" 容器ID 新的镜像名:TAG

2 Docker容器数据卷


  • 容器数据卷: 即将容器数据持久化下来的文件

  • -v命令实现 容器和宿主机共享文件

    • docker run -it -v /mydataVolume:/dataVolumeContainer ubuntu

      touch host.txt

    • docker run -it -v /mydataVolume:/dataVolumeContainer ro ubuntu 容器只读

  • volumes from :容器间数据共享

做个需要容器化的项目,再回来看这些就很简单了,常用的命令主要是:


  • 测试命令: docker run --rm --name test -v localdir:containerdir imageID
  • 关闭再进入: docker exec -it containerName bash
  • 交互测试: docker run --rm -it --name test imageID
  • 部署命令:
    docker run -d --restart=always -e ENV="var" -v localfile:containerfile --name service imageID
  • 带GPU部署
    docker run -d --gpus ' "device=1" ' -e PYTHONIDCODING=utf-8 -p 800:8000 --name service imageID

`--rm`: 容器结束后,会删除对应的容器,不用自己在`docker rm containerID`
`--name`: 指定容器名字
`-v` : 将宿主机上的文件或目录挂载(影射)到指定容器
`--restart` : 是否重启重启选项
`--gpus` : 指定显卡,docker-version: 19.03
`-e` : 设置环境变量

推荐阅读
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 标题: ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 本文探讨了容器技术在安全方面面临的挑战,并提出了相应的解决方案。多租户保护、用户访问控制、中毒的镜像、验证和加密、容器守护以及容器监控都是容器技术中需要关注的安全问题。通过在虚拟机中运行容器、限制特权升级、使用受信任的镜像库、进行验证和加密、限制容器守护进程的访问以及监控容器栈,可以提高容器技术的安全性。未来,随着容器技术的发展,还需解决诸如硬件支持、软件定义基础设施集成等挑战。 ... [详细]
  • mysql自动打开文件_让docker中的mysql启动时自动执行sql文件
    本文提要本文目的不仅仅是创建一个MySQL的镜像,而是在其基础上再实现启动过程中自动导入数据及数据库用户的权限设置,并且在新创建出来的容器里自动启动My ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 本文介绍了Cocos2dx学习笔记中的更新函数scheduleUpdate、进度计时器CCProgressTo和滚动视图CCScrollView的用法。详细介绍了scheduleUpdate函数的作用和使用方法,以及schedule函数的区别。同时,还提供了相关的代码示例。 ... [详细]
author-avatar
--多么哇噻的姑娘
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有