安装

一、 docker安装

Centos

安装docker18.03

  • wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
  • yum install -y docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
  • systemctl start docker

安装docker-compose

  • curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  • sudo chmod +x /usr/local/bin/docker-compose

  或者通过pip安装

  • pip install docker-compose

ubuntu

由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:
$ sudo apt-get remove docker docker-engine docker-ce docker.io
更新apt包索引:
$ sudo apt-get update
安装以下包以使apt可以通过HTTPS使用存储库(repository):
$ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
添加Docker官方的GPG密钥:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
使用下面的命令来设置stable存储库:
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
再更新一下apt包索引:
$ sudo apt-get update
安装最新版本的Docker CE:
$ sudo apt-get install -y docker-ce

二 、镜像命令

1. docker images

  • 查看本地已经拥有的镜像

2. docker pull 镜像名

  • 下载镜像

3. docker rmi 镜像id/镜像名

  • 删除镜像(多个)

4. docker commit

  • 用运行的容器创建镜像
  • 参数: -a 作者 -m '注解' 容器名(id) 镜像名:镜像版本号

5. docker push 镜像名:镜像版本号

  • 上传镜像

三 、容器命令

1. docker ps

查看运行中的容器

2. docker ps -a

查看所有容器

3. docker rm 容器id

删除容器

4. docker stop 容器id

停止容器

5. docker start 容器id

启动容器

6. docker restart 容器id

重启容器

7. docker run

创建并启动容器

  • -it 启动交互终端(结尾需要驾驶 /bin/bash)
  • -d 后台启动
  • -p 80:8080 端口映射80为宿主端口,8080为容器端口
    ​ -- name=blog 容器命名

8. control+p+q

退出容器并保持容器运行(终止容器退出命令为exit)

9. docker exec -it 容器名或者容器的id /bin/bash

进入正在运行的容器

10. docker cp

  • 宿主机到容器
  1. # 将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。
  2. docker cp /www/runoob 96f7f14e99ab:/www
  • 容器到宿主机
  1. # 将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。
  2. docker cp 96f7f14e99ab:/www /tmp/

四、 Dockerfile

1. Dockerfile文件

  1. # 指定基础镜像文件
  2. FROM ubuntu:latest
  3. # 指定维护者信息
  4. MAINTAINER wanghaifei
  5. # 将代码copy到容器中。如 ADD ./blog /blog 表示将和dockerfile文件同级的blog代码copy到容器的根路径/blog中
  6. ADD dockerfile文件相对的项目地址 拷贝到容器中的项目地址
  7. # 指定工作目录
  8. WORKDIR /blog
  9. # 复制
  10. COPY 地址 新地址
  11. # 执行更新命令
  12. RUN apt update
  13. # 创建项目地址的日志文件或者媒体文件等
  14. RUN mkdir -p /日志logs地址
  15. RUN mkdir -p /媒体media地址
  16. # 指定开放端口
  17. EXPOSE 8000
  18. # 在容器启动时执行命令
  19. ENTRYPOINT ["python"]
  20. CMD ["manage.py", "runserver", "0.0.0.0:8000"]

2. 生成镜像

docker build -t 镜像名 . (注意最后有个点用来表示当前目录,初次构建速度会比较慢,需要多等一会。)

【linux】【docker】docker及docker-compose安装的更多相关文章

  1. docker和docker compose安装使用、入门进阶案例

    一.前言 现在可谓是容器化的时代,云原生的袭来,导致go的崛起,作为一名java开发,现在慌得一批.作为知识储备,小编也是一直学关于docker的东西,还有一些持续继承jenkins. 提到docke ...

  2. Linux CentOS7.0 (03)安装验证 docker

    一.安装docker 1.升级 Linux 的软件包和内核 sudo yum update 2.安装 docker (1) sudo yum install docker  (2).验证docker安 ...

  3. linux安装docker,并在docker上运行springboot项目

    docker架构示例图 仓库---> 镜像 --->  容器 一.安装docker 1.通过 uname -r 命令查看你当前的内核版本 uname -r 2使用 root 权限登录 Ce ...

  4. docker 本地镜像导入导出 compose安装

    docker 本地镜像导入导出 1.Docker导入本地gz镜像 [root@rocketmq-nameserver4 dev]# cat alibaba-rocketmq-3.2.6.tar.gz ...

  5. Linux系统(Centos7)最新版本Docker简易(yum)安装步骤

    Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施.容器 ...

  6. linux命令的使用 以及基本docker命令及docker镜像安装

    以linux CentOS-7 64位 系统为例 查看ip  ifconfig 固定ip 输入vim /etc/sysconfig/network-scripts/ifcfg-ens3 其中vim是修 ...

  7. 手把手教你 Docker Compose安装DOClever

    一.什么是Docker Compose以及Docker Compose的安装和使用 查看我的另外一篇博客:Docker Compose的安装和使用 二.DOClever是什么 DOClever是一个可 ...

  8. Linux环境下的Docker的安装和部署、学习-一

    CentOS Docker 安装Docker支持以下的CentOS版本:CentOS 7 (64-bit)CentOS 6.5 (64-bit) 或更高的版本 前提条件目前,CentOS 仅发行版本中 ...

  9. 【001】学习前提——安装linux虚拟机,搭建docker

    1. 配置linux 1.1 修改配置 安装virtualbox的过程略过. 进入cd /etc/sysconfig/network-scripts,编辑:vi ifcfg-enp0s3 1>将 ...

  10. SUSE Linux Enterprise Server 12 使用二进制文件安装docker

    Docker-CE in SUSE 虽然使用zypper添加源也能安装,不过我在SLES 12sp5 上安装时发现好多命令还需要自己手动软连接,干脆网上找了找文档,再自己小改下,用二进制部署,也是可以 ...

随机推荐

  1. Hibernate对象状态之间的神奇转换

    状态分类 在Hibernate框架中,为了管理持久化类,Hibernate将其分为了三个状态: 瞬时态(Transient Object) 持久态(Persistent Object) 脱管态(Det ...

  2. vue-小爱ADMIN系列文章(二):微信微博等分享,国际化,前端性能优化,nginx服务器部署

    最近在做我的小爱ADMIN后台管理系统,结合当前市场后台管理系统对相关功能的需求,我又开始新增了一些新的功能和组件,如分享功能组件,项目国际化功能:项目完成后,部署在nginx服务器,发现首次访问的速 ...

  3. Spring学习之旅(二)--容器

    在 Spring 应用中,所有的对象都在 Spring 容器(container) 里,容器负责对象的创建.配置.装配并管理它们的整个生命周期. Spring 容器 Spring 容器 并不是只有一个 ...

  4. Immutable Object模式 - 多线程

    Immutable Object模式 - 多线程 前言 在多线程编程中,我们常会碰到修改一个对象的值,如果在不加锁的情况下 ,就会出现值不一致的问题,那么有没有一种方式可以不通过加锁的方式也可以保证数 ...

  5. Spring中老生常谈的FactoryBean

    本文完整代码地址:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/factorybean Factory ...

  6. PHP文件基础操作

    文件的基本操作:(更多) fopen():文件打开 $file = fopen("file.txt","r+"); fopen()函数的参数是目标文件的路径和文 ...

  7. 09 Scrapy框架在爬虫中的使用

    一.简介 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架.它集成高性能异步下载,队列,分布式,解析,持久化等. Scrapy 是基于twisted框架开发而来,twisted是一个 ...

  8. 题解 洛谷P1196 【[NOI2002]银河英雄传说】

    题意 有一个划分成n列的星际战场,各列编号为1,2.....n.有n艘战舰,也依次编号1,2.....n,其中第i号战舰位于第i列. 有m条指令,每条指令格式如下 M i j 表示让第i号战舰所在列的 ...

  9. python 整型、字符串常用方法、for循环

    整型--int 定义:用于比较和计算 python2和python3: python2:python2中油int(整型)和long(长整型):1231312L+ 进制转换: 十进制转二进制:正除2,获 ...

  10. css 元素实际宽高

    首先定义一个div. 然后稍微装修一下 下面开始区分 一.clientWidth和clientHeigh . clientTop和clientLeft 1,clientWidth的实际宽度 clien ...