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 # 解压镜像压缩包
最新文章
- split 分割 字符串(分隔符如:* ^ : | , .) 及注意点
- JQuery动画效果
- Android的Style的使用
- 【第40套模拟题】【noip2011_mayan】解题报告【map】【数论】【dfs】
- 1029c语言文法定义与c程序的推导过程
- jQuery编程基础精华01(jQuery简介,顶级对象$,jQuery对象、Dom对象,链式编程,选择器)
- 滚动效果,marquee便签
- jQuery模拟原生态App上拉刷新下拉加载
- 二.redis 数据类型
- (一)Redis在windows下的安装和使用
- spring cloud 集成 swagger2 构建Restful APIS 说明文档
- svg从入门到装逼(一)
- Fedora Linux安装deb包
- git push 到github时,报错:ERROR: Permission to xxx.git denied to user
- require('./expample.js).default详解
- 线程的条件Condiition
- MySQL5.6复制技术(3)-MySQL主从复制线程状态转变
- 【Python】如何基于Python写一个TCP反向连接后门
- phpunit Cannot redeclare class PHPUnit_Runner_Version
- php ini_set更改php.ini配置,通过它修改php.in达到php上传文件大小限制是不行的,除非修改.htaccess文件