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 ...
随机推荐
- Install Ubuntu Server
进入引导程序以后, 选择Install Ubuntu Server, 安装主菜单如下: 依次配置: 接着 https://www.youtube.com/watch?v=gqLaT01yei0
- Android的Device File Explorer刷新文件
不知道为什么,右键点sync不起作用,必须点一下列表中的设备,才可以.
- Newtonsoft.Json序列化Enum类型
[JsonConverter(typeof(StringEnumConverter))] public StringAlignment TextAlign { get => textAlign; ...
- ubuntu 中文变成小方框 口
今天打开ubuntu所有原来是中文的地方都变成口口口口 ,下面是解决办法,其实很简单,更新一下字体库就可以了 1. 进入到字体的目录下 /usr/share/fonts/ ,输入下面的命令 c ...
- Linux静默安装matlab
对linux系统不是很熟,所有装起来有点费劲.来来回回折腾了二三天,查了很多攻略,但按照步骤老是报错,大体上各人设备不同.系统不同.环境设置不同,总是会多多少少略有差异. 一 基本配置 linux系统 ...
- Charles手机抓包设置&无法打开火狐网页设置
1. Charles抓取手机上的网络包,需要安装证书(Charles的和手机的) 操作方法: https://blog.csdn.net/lea__dongyang/article/details/7 ...
- 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。
错误描述:当在ASP.NET应用程序中引用Microsoft Excel组件,并在程序中调用时,部署到服务器上经常会遇到以下的错误:检索 COM 类工厂中 CLSID 为{00024500-0000- ...
- .netcore 写日志(使用NLog,log4net)
参考地址: NLog:http://www.cnblogs.com/linezero/p/Logging.html Log4Net:http://www.cnblogs.com/linezero/p/ ...
- Leetcode#709. To Lower Case(转换成小写字母)
题目描述 实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: 输入: "Hello" ...
- mysql案例~非常规操作汇总
一 简介:此文汇总mysql不常见的数据库的操作二 mysql表修改最大自增ID 目的: 修复canal相关问题 语法: alter table a AUTO_INCREMENT=num; 执行速度: ...