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 ...
随机推荐
- vue cli 解决跨域 线上 nginx 反向代理配置
前后分离 axios 接 api 跨域问题如图: 解决办法: 1. npm start 本地开发环境解决: 在webpack配置文件 /config/index.js 里找到 proxyTable 开 ...
- IDEA导入JUnit4
Step 1. IDEA最上面一栏的菜单栏中,选File->Project Structure(从上往下第11个),弹出窗口左边有一个列表,选Module. Step 2. 右侧有一个带3个标签 ...
- 【51nod 1100】斜率最大
Description 平面上有N个点,任意2个点确定一条直线,求出所有这些直线中,斜率最大的那条直线所通过的两个点. (点的编号为1-N,如果有多条直线斜率相等,则输出所有结果,按照点的X轴坐标 ...
- Jupyter NoteBook使用快捷键
命令模式 (按键 Esc 开启) Enter : 转入编辑模式 Shift-Enter : 运行本单元,选中下个单元 Ctrl-Enter : 运行本单元 Alt-Enter : 运行本单元,在其下插 ...
- [C++]Linux之虚拟文件系统[/proc]中关于CPU/内存/网络/内核等的一些概要性说明
声明:如需引用或者摘抄本博文源码或者其文章的,请在显著处注明,来源于本博文/作者,以示尊重劳动成果,助力开源精神.也欢迎大家一起探讨,交流,以共同进步- 0.0 1.Linux虚拟文件系统 首先要明白 ...
- Coursera, Deep Learning 1, Neural Networks and Deep Learning - week2, Neural Networks Basics
Logistic regression Cost function for logistic regression Gradient Descent 接下来主要讲 Vectorization Logi ...
- bebugger调试理解commonJS原理
上面图片是bebugger一个导入的模块,使用vscode可以轻松的看到调用栈,通过断点调试进入断点 Mode函数的原型里面有一个require方法,函数里面有Module._load()加载模块,传 ...
- 5.21http网页基础
1,HTML的由来: web网页开发的标准,由w3c万维网联盟组织制定的.是制作网页的规范标准,分为结构标准.表现标准.行为标准.结构:html.表现:css.行为:Javascript. 2,htm ...
- AJAX的来龙去脉(由来)-如何被封装出来的--ajax发送异步请求(四步操作)
<黑马程序员_超全面的JavaWeb视频教程vedio\JavaWeb视频教程_day23_ajax> \JavaWeb视频教程_day23_ajax\day23ajax_avi\14.打 ...
- Linux C++ UDP Socket通信实例
环境:Linux 语言:C++ 通信方式:UDP 服务器端的步骤如下: 1. socket: 建立一个socket 2. bind: 将这个socket绑定在某个端口上(A ...