ubuntu1804安装docker和docker-compose的最新2020详细教程
Posted 千年寒冰火
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu1804安装docker和docker-compose的最新2020详细教程相关的知识,希望对你有一定的参考价值。
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的、经过认证的容器和插件。对于企业则提供了一下收费的高级特性。
- 有关docker,docker.io,docker-engine,lxc-docker 的区别?
- 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来安装哦
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 - #注意最后的"-"别少了 - 确认一下秘钥
sudo apt 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安装源
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
sudo docker pull redis:6.0.3 #下载最新redis6
- 查看镜像
- sudo docker images
- 可以看到刚刚下载的redis tag是6.0.3,时间和大小
- 启动镜像
- 实用启动命令
sudo docker run -itd -name redis6 -p 6379:6379 redis:6.0.3 # -i 表示允许你对容器内的标准输入 (STDIN) 进行交互。 # -t 表示制定一个伪终端,一般接/bin/bash 方便exec进入容器后,输入执行命令 # -d 表示后台运行, # -name 表示容器的名称,后面通过容器名称来,启动,停止,重启容器,名字需要唯一 # -p 表示端口映射,前一个数是宿主机的开端口,后一个数是容量里面的端口,可以不一样 # 最后是镜像名称和tag
- 查看容器
- 查看所有运行容器 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安装
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的实用
- 配置文件docker-compose.yml详解
#版本号对象docker的版本,对应关系,请参考官网https://docs.docker.com/compose/compose-file/
version: ‘3.8‘
services:
#声明构建容器的名称,docker-compose start和stop命令可以使用
dc_mongodb:
#使用指定目录下的Dockerfile进行构建
build: .
#相当于docker run命令的-p参数,用于声明对外开放的端口
ports:
- "5000:5000"
- "8010:80"
-
docker-compose 常用命令 需要和docker-compose.yml 在同一目录下执行
- docker-compose up -d #启动yml文件中所有的镜像
- docker-compose restart #重启yml文件中所有的镜像
- docker-compose down #关闭yml文件中所有的镜像
- 注意:如果修改了yml文件或.env文件,需要先down再up才会生效,restart无法生效
-
配置一个mongodb的compose文件
version: ‘3.8‘
networks:
mynet:
external: true
services:
app:
image: mongo:4.2.6
networks:
- mynet
env_file:
- ./.env
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- /data/dc_mongo/db:/root/data/db
- /data/dc_mongo/log:/root/data/log
- /data/dc_mongo/mongodb.conf:/etc/mongo/log
container_name: dc_mongo
working_dir: /root/data
command:
- /bin/sh
- -c
- |
python app/config/init_fastdfs.py
python manager.py
#gunicorn -c env_conf/gunc.conf manager:app
ports:
- ${HOWDATA_PORT}:9999
restart: always
logging:
driver: json-file
options:
max-file: ‘2‘
max-size: 100m
以上是关于ubuntu1804安装docker和docker-compose的最新2020详细教程的主要内容,如果未能解决你的问题,请参考以下文章