docker的安装及使用
准备工具:
系统:ubuntu18.04
docker软件包:docker-compose.tar.gz,containerd.io_1.2.4-1_amd64.deb,docker-ce-cli_18.09.3_3-0_ubuntu-bionic_amd64.deb,docker-ce_18.09.3_3-0_ubuntu-bionic_amd64.deb
应用软件包:mysql-v3.tar.gz,activemq-v3.tar.gz,wanlida-v3.tar.gz,db.tar.gz,docker-compose.yml
数据库数据包:db.tar.gz
一.安装Docker CE
离线安装docker:
1.将containerd.io_1.2.4-1_amd64.deb,docker-ce-cli_18.09.3_3-0_ubuntu-bionic_amd64.deb,docker-ce_18.09.3_3-0_ubuntu-bionic_amd64.deb三个导入本地服务器,或者从https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64/下载
2.安装container.io
$ sudo apkg -i containerd.io_1.2.4-1_amd64.deb
3.安装docker-ce-cli
$ sudo apkg -i docker-ce-cli_18.09.3_3-0_ubuntu-bionic_amd64.deb
4.安装docker-ce
$ sudo apkg -i docker-ce_18.09.3_3-0_ubuntu-bionic_amd64.deb
5.检查是否安装成功
$ sudo docker -v #仅仅是查看docker-ce-cli客户端软件包是否安装成功
$ sudo docker images #查看本地镜像,如果报错就是安装不成功
$ sudo docker run hello-world #在联网情况下检测是否安装成功
在线安装docker:
1.添加使用HTTPS传输的软件包以及CA证书
$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
2.为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥
$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add - (国内镜像源)
# $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - (官方源)
3.向 source.list 中添加 Docker 软件源
$ sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" (国内软件源)
# $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" (官方源)
4.安装docker
$ sudo apt-get update
$ sudo apt-get install docker-ce
5.启动docker ce(默认安装成功后自动启动)
$ sudo systemctl enable docker
$ sudo systemctl start docker
6.建立docker用户组(默认安装成功后自动建立)
$ sudo groupadd docker
7.把当前用户加入docoker组,以使当前用户具有操作docker权限
$ sudo usermod -aG docker $USER
退出终端,重新登录后更改生效
8.测试docker是否安装成功
$ docker run hello-world (如果当前用户没有加入docker组,需要root权限执行此命令)
9.如果下载缓慢,可以配置镜像加速器
$ cd /etc/docker
$ vim daemon.json (默认没有此配置文件,需要自己创建)
把官方提供的镜像加速器添加到配置文件,也可以自己改为其他加速器,例如阿里云的加速器
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
10.卸载docker:
1.卸载docker软件包
$ sudo apt-get purge docker-ce
$ sudo apt-get remove --auto-remove docker
2.删除在电脑里的镜像、容器和数据卷
$ sudo rm -rf /var/lib/docker
二.安装Docker Compose # 如果不使用docker-compose方式部署,可以不安装
1.下载最新版本的Docker Compose
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
或者从本地导入已经下载好的软件包docker-compose.tar.gz
# $ tar -xzf docker-compose.tar.gz /usr/local/bin/ # 离线安装模式
2.添加可执行权限
$ sudo chmod +x /usr/local/bin/docker-compose
3.添加软连接
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
4.测试是否安装成功
$ docker-compose --version
5.卸载docker-compose
使用curl方式或者离线安装:
$ sudo rm /usr/local/bin/docker-compose
使用pip方式安装:
$ sudo pip uninstall docoker-compose
三.远程部署项目
1.打包本地镜像
$ docker save 镜像ID | gzip > filename.tar.gz
本文档实例:分别打包压缩 mysql:v3,activemq:v3,wanlida:v3三个镜像为mysql-v3.tar.gz,activemq-v3.tar.gz,wanlida-v3.tar.gz
2.传到远程服务器
$ scp localfile username@ip:path #一定要把docker-compose.yml文件传到远程服务器
或者使用u盘导入:
$ mkdir 项目目录 # 例如本文档实例:/home/mywork
$ cp mysql-v3.tar.gz,activemq-v3.tar.gz,wanlida-v3.tar.gz /home/mywork #将三个镜像压缩文件导入项目目录
$ cp docker-compose.yml /home/mywork # 将部署项目使用的docker-compose.yml文件导入项目目录
$ cp db.tar.gz /home/mywork # 将项目使用的数据库数据包导入项目目录,此数据包不是直接从数据库导出的数据库包
3.解压镜像
$ docker load -i filename.tar.gz
$ docker images # 查看本地镜像
4. 镜像命名
$ docker image tag 镜像ID newname
本文档实例:$ docker load -i mysql-v3.tar.gz # 解压出的镜像名字和版本号是none
$ docker image tag mysql镜像ID mysql:v3 # 重命名mysql镜像的名字为mysql,版本好为v3,此处命名要与docker-compose.yml部署文件里的名字一致
5.部署服务
docker-compose.yml文件内容:
version: "3"
services:
db:
image: mysql:v3 # 如果本地没有镜像,会默认从docker Hub公共仓库下载,离线部署时,必须与本地镜像名和版本号一致
expose:
- "3306"
volumes:
- ./db:/var/lib/mysql
ports:
- "4000:3306"
depends_on:
- activemq
activemq:
image: activemq:v3
volumes:
- ./activeMQ:/var/lib/activeMQ
stdin_open: yes
tty: yes
privileged: yes
ports:
- "1885:1884"
web:
image: wanlida:v3
ports:
- "8080:8080"
links:
- db
- activemq
depends_on:
- db
使用docker-compose方式部署: # 此方式不能实现服务自动重启
1.部署项目
$ docker-compose up #一定要在含有docker-compose.yml文件的目录下执行
2.查看有哪些服务已经启动
$ docker container ls
3.停止服务
$ docker-compose down
使用集群部署方式:
1.初始化管理节点
$ docker swarm init
2.部署项目
$ docker stack deploy -c docker-compose.yml ProjectName
3.查看服务
$ docker service ls
4.停止并删除项目
$ docker stack rm ProjectName
5.删除节点
$ docker swarm leave --force
四.容器命令
$ docker container ls # 查看正在运行的容器
$ docker container ls -a #查看所有容器
$ docker container stop 容器ID # 停止容器
$ docker container start 容器ID # 启动容器
$ docker container rm 容器ID #删除容器
$ docker exec -it 容器ID /bin/bash #进入容器
$ exit 退出容器
五.镜像命令
$ docker images # 查看所有镜像
$ docker image ls # 查看所有镜像
$ docker image tag 镜像ID newname # 重命名镜像
$ docker image rm 镜像ID # 删除镜像
$ socker image prune # 删除名字为none的空闲镜像
$ docker save 镜像ID | gzip > filename.tar.gz # 打包压缩镜像
$ docker load -i filename.tar.gz # 解压镜像压缩包
docker的安装及使用的更多相关文章
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- docker 启动安装等命令
确认是否安装url whereis curl 启动docker服务: sudo service docker start sudo service docker stop 安装curl sudo ap ...
- DOCKER windows安装
DOCKER windows安装 1.下载程序包 2. 设置环境变量 3. 启动DOCKERT 4. 分析start.sh 5. 利用SSH工具管理 6. 下载镜像 6.1 下载地址 6.2 用FTP ...
- 在docker里面安装部署应用
最近一直在做docker的安装打包工作,学到不少东西,在博客里记一下. 环境centos6 ,docker 基础镜象centos6 1.创建本地基础镜象,安装基础命令包 (1)Dockerfile,D ...
- Docker Centos安装Redis以及问题处理
之前一篇文章 Redis安装及主从配置 介绍了redis的安装配置,另一篇文件介绍了 Docker Centos安装Openssh .今天将两篇文件结合一下——在Docker Centos环境下搭建r ...
- Docker Centos安装Mysql5.6
之前一篇随笔<Docker Centos安装Openssh> 写的是如何在基础的centos镜像中搭建ssh服务,在此基础上再搭建其他服务.本文继续介绍在centos_ssh基础上搭建my ...
- Docker的安装及简单使用
1. Docker的安装 (这里的“安装docker”其实就是安装Docker Engine) $ sudo apt-get intasll docker.io note: apt-get是ubun ...
- docker 的安装
官方站点上有各种环境下的 安装指南,这里主要介绍下Ubuntu和CentOS系列的安装. Ubuntu 系列安装 Docker 通过系统自带包安装 Ubuntu 14.04 版本号系统中已经自带了 D ...
- docker 17 安装
docker17 安装 新增一键安装命令: curl -sSL https://get.docker.com/ | sh 以下为手动安装过程 翻译自 Get Docker for Ubuntu Doc ...
- centos7安装docker并安装jdk和tomcat(常用命令)
阿里专属的镜像加速 在宿主机器编辑文件:vi /etc/docker/daemon.json 阿里专属的镜像加速地址,类似于"https://91cntlkt.mirror.aliyuncs ...
随机推荐
- functools学习记录
装饰器demo def wrapper(func): print('装饰器工作了') def inner(*args,**kwargs): return func(*args,**kwargs) re ...
- range和xrange的区别
range和xrange的区别 python3里面只有range,返回结果是一个生成器,官方文档是这样描述的 class range(object): """ range ...
- linux centos 7 nodejs 的安装
先SSH 进到终端 随便一目录,或者/temp下 下载nodejs: (如果下载不了,官网 https://nodejs.org/en/download/复制LINUX版本的链接过来) wget ht ...
- 24.join算法/锁_1
一. JOIN算法1.1. JOIN 语法 mysql> select * from t4; +---+------+ | a | b | +---+------+ | | 11 | | | 5 ...
- luogu 3045 优先队列反悔/bzoj 2590
N头奶牛,价格Pi,K张优惠券,优惠券购买降为Ci,不超过M的钱最多可买多少奶牛 先将c值k小的加入,将它们省下的钱加入优先队列(省下的钱由少到多),在将k+1-n用p排序,再逐个与优先队列中弹出的比 ...
- 【解题报告】SRM-08
A Description 给一个 01 串设为其 S,询问是否存在只出现两次的 01 串 T. 这里的出现定义为存在一串下标 ,满足 且 . Input 一行,一个 01 串 Output 一行, ...
- 双系统中卸载Ubuntu后又efi系统分区删除方法
参考:https://blog.csdn.net/qq_28057541/article/details/51723914 首先 window键(窗口键) + R ,然后输入 Diskpart 打开命 ...
- 爬虫代理及ssl验证
IP代理:import requests url='https://weibo.com/' proxies={ 'http':'116.196.66.197:99999' } # 此处的proxies ...
- java使用Iterator 迭代器
在springboot中,findall返回的类型为Iterable, Iterator 常用方法: hasnext() next(); Iterable<User> iterable = ...
- 添加 node mocha 测试模块
1.mocha 支持TDD 和 BDD两种测试风格 2.引用assert模块 此模块是node的原生模块,实现断言的功能,作用是声明预期的结果必须满足 3.mocha测试用例中可以使用第三方测试库 ...