首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >ubuntu1804安装docker和docker-compose的最新2020详细教程

ubuntu1804安装docker和docker-compose的最新2020详细教程

作者头像
用户12023652
发布2026-07-29 13:03:04
发布2026-07-29 13:03:04
1160
举报

docker用容器的模式,把各个应用在同一台宿主机上独立分开运营,保持了应用程序的独立性和安全性。同时具备快速部署的特点,迅速成为各大互联网公司宠儿。随之也成为每个开发人员必备的技能之一

一、ubuntu安装docker

关于docker的软件包名

  • 有关docker,docker.io,docker-engine,lxc-docker 的区别?
    • 其中,RHEL/CentOS 软件源中的 Docker 包名为 docker;
    • Ubuntu 软件源中的 Docker 包名为 docker.io;而很古老的 Docker 源中 Docker 也曾叫做 lxc-docker。
    • 这些都是非常老旧的 Docker 版本,并且基本不会更新到最新的版本,而对于使用 Docker 而言,使用最新版本非常重要。
    • 另外,17.04 以后,包名从 docker-engine 改为 docker-ce,因此从现在开始安装,应该都使用 docker-ce 这个包。
  • 关于docker 目前设计的版本 docker-CE 和 docker-EE
    • docker-ce 是社区版本是完全免费的;从1.XX版本升级到17.XX版本上的风险是非常小的;docker-ce 还区分两个版本edge和stable版本;
    • dge 版本是每个月发布一次,喜欢尝新的用户可以下载此版本,因此对于安全和错误只能当月获取与修复
    • stable 版本是每个季度更新一次,也就是说是稳定版本;
    • docker-ee 版本是由公司支持,可在经过认证的操作系统和云提供商中使用,并可运行来自Docker Store的、经过认证的容器和插件。对于企业则提供了一下收费的高级特性。

ubuntu上apt里版本

  • 使用apt-cache show docker 是1.x的 /apt-cache show docker.io 版本都是18.xx的
  • apt-cache show docker-ce 没有结果,需要手动添加安装源

添加docker-ce的安装源

  • 如果有旧版本的docker需要先卸载,会影响运行。sudo apt remove docker docker-engine docker.io containerd runc
  • 安装相关的依赖包和工具,我们需要https来安装哦
代码语言:javascript
复制
sudo apt install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
  • 添加docker官方网站的秘钥,这个nginx的安装一样,让ubuntu放心使用它的源 `` sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - #注意最后的"-"别少了
  • 确认一下秘钥
代码语言:javascript
复制
sudo apt-key fingerprint 0EBFCD88
#如果下一下输出,说明添加成功
pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]
  • 添加docker稳定版仓库到ubuntu安装源
代码语言:javascript
复制
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

ubuntu安装最新的docker社区版

  • 系统更新 sudo apt update
  • 查询docker的版本信息 sudo apt-cache madison docker-ce 或者 apt-cache show docker-ce | grep Version
  • 最新的稳定版是Version: 5:19.03.93-0ubuntu-bionic
  • 执行安装命令 sudo apt install docker-ce docker-ce-cli containerd.io
  • 安装制定版本的docker,例如上面的:5:19.03.93-0ubuntu-bionic sudo apt install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
  • 访问过去网速低的,可以参考实用清华大学的安装源,参考

确认是否安装成功

  • 输入命令 sudo docker --version
  • 如果安装成功看到以下输出 Docker version 19.03.9, build 9d988398e7

二、docker的简单实用

下载官方镜像

  • 可以先到docker官网查找镜像,网站
  • 实用docker pull 镜像名:tag 下载镜像,如果不输入tag默认是latest
代码语言:javascript
复制
sudo docker pull redis:6.0.3    #下载最新redis6

查看镜像

  • sudo docker images
  • 可以看到刚刚下载的redis tag是6.0.3,时间和大小

启动镜像

  • 实用启动命令
代码语言:javascript
复制
sudo docker run -itd --name redis6 -p 6379:6379 redis:6.0.3
# -i 表示允许你对容器内的标准输入 (STDIN) 进行交互。
# -t 表示制定一个伪终端,一般接/bin/bash 方便exec进入容器后,输入执行命令
# -d 表示后台运行,
# --name 表示容器的名称,后面通过容器名称来,启动,停止,重启容器,名字需要唯一
# -p 表示端口映射,前一个数是宿主机的开端口,后一个数是容量里面的端口,可以不一样
# 最后是镜像名称和tag
# 更多帮助,docker run --help

查看容器

  • 查看所有运行容器 sudo docker ps
  • 查看所有容器包含未运行的 sudo docker ps -a

停止/重启/启动 容器

  • docker stop/restart/start redis6 #最后是容器名,也可以用ps查询的容器ID

进入容器里面

  • sudo docker exec -it <容器名> /bin/bash

删除容器

  • docker rm redis6 #最后是容器名,也可以用ps查询的容器ID

三、docker-compose的安装

docker-compose简介(以下简称dc)

  • dc是一套管理docker的工具,是用python编写的,实用yml作为配置文件
  • dc的最新的发布版本网址https://github.com/docker/compose/releases
  • docker-compose当下最新是1.25.5

可以通过apt install 来安装,但是版本太旧是 Version: 1.17.1-2

实用curl安装

代码语言:javascript
复制
sudo curl -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose   #赋予可执行文件

简称是否安装成功

  • sudo docker-compose --version
  • 如果输出如下说明安装成功, docker-compose version 1.25.5, build 8a1c60f6

四、docker-compose的实用

  1. 配置文件docker-compose.yml详解
代码语言:javascript
复制
#版本号对象docker的版本,对应关系,请参考官网https://docs.docker.com/compose/compose-file/
version: '3.8'
services:    
    mongodb: #根据你自己的需要设定名字
    #使用指定目录下的Dockerfile进行构建
    build: .
    #相当于docker run命令的-p参数,用于声明对外开放的端口
    container_name: my_app  #声明构建容器的名称,docker-compose start和stop命令可以使用
    ports:
        - "5000:5000" 
       - "8010:80"
  1. docker-compose 常用命令 需要和docker-compose.yml 在同一目录下执行
    • docker-compose up -d #启动yml文件中所有的镜像
    • docker-compose restart #重启yml文件中所有的镜像
    • docker-compose down #关闭yml文件中所有的镜像
    • 注意:如果修改了yml文件或.env文件,需要先down再up才会生效,restart无法生效
  2. 配置一个mongodb的compose文件
代码语言:javascript
复制
version: '3.8'
networks:
  mynet:
    external: true
services:
  mongodb:
    image: mongo:4.2.6
    networks:
      - mynet
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
      - /data/mongo_cluster/2727/db:/data/db
      - /data/mongo_cluster/2727/opt:/opt
    container_name: mongo_main
    environment:
      - MONGO_INITDB_ROOT_USERNAME=qumogu
      - MONGO_INITDB_ROOT_PASSWORD=Qumogu@1604
    command: --auth --bind_ip 0.0.0.0
    ports:
      - 2727:27017
    restart: always
    logging:
      driver: json-file
      options:
        max-file: '2'
        max-size: 100m
  1. 启动docker的容器
    • 启动前需要先创建网络 参考文档
      • docker network create mynet --driver bridge
      • docker network ls #显示已创建的网络
    • docker-compose up -d 就可以访问了
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 一、ubuntu安装docker
  • 二、docker的简单实用
  • 三、docker-compose的安装
  • 四、docker-compose的实用
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档