【linux】【docker】docker及docker-compose安装
安装
一、 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
- 宿主机到容器
# 将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。
docker cp /www/runoob 96f7f14e99ab:/www
- 容器到宿主机
# 将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。
docker cp 96f7f14e99ab:/www /tmp/
四、 Dockerfile
1. Dockerfile文件
# 指定基础镜像文件
FROM ubuntu:latest
# 指定维护者信息
MAINTAINER wanghaifei
# 将代码copy到容器中。如 ADD ./blog /blog 表示将和dockerfile文件同级的blog代码copy到容器的根路径/blog中
ADD 和dockerfile文件相对的项目地址 拷贝到容器中的项目地址
# 指定工作目录
WORKDIR /blog
# 复制
COPY 地址 新地址
# 执行更新命令
RUN apt update
# 创建项目地址的日志文件或者媒体文件等
RUN mkdir -p /日志logs地址
RUN mkdir -p /媒体media地址
# 指定开放端口
EXPOSE 8000
# 在容器启动时执行命令
ENTRYPOINT ["python"]
CMD ["manage.py", "runserver", "0.0.0.0:8000"]
2. 生成镜像
docker build -t 镜像名 . (注意最后有个点用来表示当前目录,初次构建速度会比较慢,需要多等一会。)
【linux】【docker】docker及docker-compose安装的更多相关文章
- docker和docker compose安装使用、入门进阶案例
一.前言 现在可谓是容器化的时代,云原生的袭来,导致go的崛起,作为一名java开发,现在慌得一批.作为知识储备,小编也是一直学关于docker的东西,还有一些持续继承jenkins. 提到docke ...
- Linux CentOS7.0 (03)安装验证 docker
一.安装docker 1.升级 Linux 的软件包和内核 sudo yum update 2.安装 docker (1) sudo yum install docker (2).验证docker安 ...
- linux安装docker,并在docker上运行springboot项目
docker架构示例图 仓库---> 镜像 ---> 容器 一.安装docker 1.通过 uname -r 命令查看你当前的内核版本 uname -r 2使用 root 权限登录 Ce ...
- docker 本地镜像导入导出 compose安装
docker 本地镜像导入导出 1.Docker导入本地gz镜像 [root@rocketmq-nameserver4 dev]# cat alibaba-rocketmq-3.2.6.tar.gz ...
- Linux系统(Centos7)最新版本Docker简易(yum)安装步骤
Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施.容器 ...
- linux命令的使用 以及基本docker命令及docker镜像安装
以linux CentOS-7 64位 系统为例 查看ip ifconfig 固定ip 输入vim /etc/sysconfig/network-scripts/ifcfg-ens3 其中vim是修 ...
- 手把手教你 Docker Compose安装DOClever
一.什么是Docker Compose以及Docker Compose的安装和使用 查看我的另外一篇博客:Docker Compose的安装和使用 二.DOClever是什么 DOClever是一个可 ...
- Linux环境下的Docker的安装和部署、学习-一
CentOS Docker 安装Docker支持以下的CentOS版本:CentOS 7 (64-bit)CentOS 6.5 (64-bit) 或更高的版本 前提条件目前,CentOS 仅发行版本中 ...
- 【001】学习前提——安装linux虚拟机,搭建docker
1. 配置linux 1.1 修改配置 安装virtualbox的过程略过. 进入cd /etc/sysconfig/network-scripts,编辑:vi ifcfg-enp0s3 1>将 ...
- SUSE Linux Enterprise Server 12 使用二进制文件安装docker
Docker-CE in SUSE 虽然使用zypper添加源也能安装,不过我在SLES 12sp5 上安装时发现好多命令还需要自己手动软连接,干脆网上找了找文档,再自己小改下,用二进制部署,也是可以 ...
随机推荐
- 由于Microsoft\VisualStudio\14.0\Designer\ShadowCache导致的一个异常问题
本文引用了一个DynamicDataDisplay和DynamicControl两个类库,本来使用的时候都时正常的,愉快的运行着. DynamicDataDisplay:这是一个用于动态数据可视化的W ...
- webservice接口和http接口(API接口)的区别
web service(SOAP)与HTTP接口的区别: 什么是web service? 答:soap请求是HTTP POST的一个专用版本,遵循一种特殊的xml消息格式Content- ...
- CodeForces 909C
题意略. 思路: 开始的时候,定义dp[i]:当前行在第i行,i~n有多少种排列方式,如果i为f,那么dp[i] = dp[i + 1],因为第i + 1条语句只能放在f后且向右缩进一位: 如果i为s ...
- vue 自动化路由实现
1.需求描述 在写vue的项目中,一般情况下我们每添加一个新页面都得添加一个新路由.为此我们在项目中会专门的一个文件夹来管理路由,如下图所示 那么有没有一种方案,能够实现我们在文件夹中新建了一个vue ...
- JavaWeb实现增删查改(图书信息管理)——之查询
关于此次CRUD所需要的jar包,本人把文件放在了百度网盘,需要的自行去下载: 链接:https://pan.baidu.com/s/1Pqe88u6aPaeVjjOq1YFQ-w 提取码:pim ...
- c博客作业00--我的第一篇博客
1.你对网络专业或计算机专业了解是怎样? 一开始以为计算机网络专业就是搞跟计算机有关的东西,后来查了网络才知道,网络专业主要学计算机科学基础理论软硬件系统及应用知识 .网络工程的专业及应用知识. 2. ...
- Java集合中List、Set以及Map
概述: List , Set, Map都是接口:List , Set继承至Collection接口,Map为独立接口 Set下有HashSet,LinkedHashSet,TreeSet List下有 ...
- Java内部类的使用小结 形参为什么要用final
部类是指在一个外部类的内部再定义一个类.类名不需要和文件夹相同. *内部类可以是静态static的,也可用public,default,protected和private修饰.(而外部顶级类即类名和文 ...
- 关于jpa的Specification自定义函数,实现oracle的decode;以及如何在静态方法中调用注入的service
如何在静态方法中调用注入的service Public class ClassA{ public static ClassA classA; @Resource private Service ser ...
- Java基础(一)-- Java对字符串操作大全
一.Java字符串类基本概念 在JAVA语言中,字符串数据实际上由String类所实现的.Java字符串类分为两类:一类是在程序中不会被改变长度的不变字符串:二类是在程序中会被改变长度的可变字符串.J ...