Docker 这东西,真的谁用谁说好! 废话不多说,快乐看怎么使用把!
# 一. Docker 的基本操作
# 1.1 安装 Docker
# 1 下载关于Docker的依赖环境
yum -y install yum-utils device-mapper-persistent-data lvm2
# 2设置镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 3 安装Docker
yum makacache fast (实际中这个命令也可以不用要)
yum -y install docker-ce
# 4 启动,并设置为开机自启动,测试
#启动Docker服务
systemctl start docker
# 设置为开机自启
systemctl enable docker
# 测试
docker run hello-world
# 1.2 Docker 的中央仓库
Docker 官方中央仓库
国内的镜像网站:网易蜂巢,daoCloud
http://hub.daocloud.io (推荐使用)
公司内部的局域网搭建 (添加配置)
# 需要在/etc/docker/daemon.json 配置
{
"registry-mirrors":["https://registry.dockery-cn.com"],
"insecure-registries":["ip:post"]
}
# 重启连个服务
systemctl daemon-reload
systemctl restart docker
# 1.3 镜像的操作
# 拉取镜像到本地
docker pull
# 举个例子
docker pull daocloud.io/library/tomcat:8.5.15-jre8
# 2. 查看全部本地镜像
docker images
# 3. 删除本地镜像
docker rmi xxx(唯一标识)
# 4. 镜像的导入导出
# 将本地镜像导出
docker save -o 导出路径 镜像id
# 加载本地镜像文件
docker load -i 镜像文件
# 修改镜像名称
docker tag 镜像id 新镜像名称:版本
# 1.4 容器的操作
# 1. 运行容器
#简单操作
docker run 镜像的标识 | 镜像名称[:tag]
# 常用的参数
docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像的标识 | 镜像名称[:tag]
# -d 代表后台运行容器
# -p 宿主机端口:容器端口:为了映射当前Linux端口和容器端口
# --name 容器名称:指定容器的名称
# 2. 查看正在运行的容器
docker ps [-aq]
# -a 查看全部的容器
# -q 查看正在运行的容器的唯一标识
# 3. 查看容器的日志
docker logs -f 容器id
# -f 可以滚动查看日志的最后几行
# 4. 进入到容器内部
docker exec -it 容器标识 bash
# 5. 删除容器
# 停止容器
docker stop 容器id
# 停止全部容器
docker stop $(docker ps -qa)
# 删除指定容器
docker rm 容器id
# 删除全部容器
docker rm $(docker ps -qa)
镜像和容器之间的关系
容器是运行起来的镜像
# 二. Docker 应用
# 2.1 准备 SSM 工程
# 2.2 准备 MySql 容器
# 运行mysql 容器
docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root daocloud.io/library/mysql:5.7.4
# 如果遇到报错可以重启docker
systemctl restart docker
# 如果提示3306 端口被占用 可以开放3306端口 步骤如下
https://blog.csdn.net/weiyangdong/article/details/79540217
# 2.3 把项目部署到对应的环境中
# 2.4 数据卷
数据卷 : 将宿主中的一个目录映射到容器中的一个目录,可以实现在宿主机中修改文件内容,容器里面的内容也跟着变化
# 1.创建数据卷
docker volume create 数据卷名称
# 创建成功后,默认会存放在这个目录下 /var/lib/docker/volumes/数据卷名称/_data
# 2 查看数据卷的详细信息
docker volume inspect 数据卷名称
# 3 查看全部数据卷
docker volume ls
# 4 删除数据卷
docker volume rm 数据卷名称
# 5 启动容器后直接创建数据卷
docker run -d -p 8080:8080 --name XXX -v 数据卷名称:要映射的路径 容器的ID
或者
docker run -d -p 8080:8080 --name XXX -v /数据卷路径/数据卷名称:要映射的路径 容器的ID
docker run -d -p 8080:80 --name nginx -v nginx:/usr/share/nginx/html
docker -v nginx_config:/etc/nginx
docker run -d -p 8080:80 -p 443:443 --name nginx-server -v /home/nginx/www:/usr/share/nginx/html -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/logs:/var/log/nginx 090
4036449_www.wx.h5love.cn.key 9a5040dbc879
4036449_www.wx.h5love.cn.pem
# 三. Docker 自定义镜像
中央仓库里面的镜像也是 Docker 用户自己上传上去的
# 1. 创建一个Dockerfile 文件, 并且指定自定义镜像信息
# Dockerfile 文件中常见的内容
from: 指定当前自定义镜像依赖的环境
copy:将相对路径下的内容复制到自定义镜像中
workdir:声明镜像的默认工作目录
cmd: 需要执行的命令
#例如
from daocloud.io/library/tomcat:8.5.15-jre8
copy ssm.war /usr/local/tomcat/webapps
#2 将准备好的Dockerfile和相对的文件拖拽到Linux操作系统中,通过Docker的命令制作镜像
docker build -t 镜像名称 版本 . // 最后的. 是指当前目录
# 五. Docker-Compose
之前运行一个镜像需要添加大量的参数
可以通过 Docker-Compose 编写这些参数
Docker-Compose 可以帮助我们批量管理容器
只需要通过一个 docker-componse.yml 文件去维护即可
# 5.1 下载 Docker-Componse
# 去github 下搜索Docker-Componse, 选择1.24.1版本下载
下载地址:https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64
# 2 把下载好的文件上传到linux上
# 3 修改文件名称和增加权限
mv docker-compose-liunx-x86_64 docker-compose
chmod 777 docker-componse
# 4 方便后期操作,配置一个环境变量
1. 将docker-compose 文件移动到/usr/local/bin
2. 修改/etc/profile 文件,给/usr/local/bin 配置到环境变量中
vi /etc/profile
export PATH=$JAVA_HOME:/usr/local/bin:$PATH
3. soure /etc/profile
# 四. 常见的一些命令
# 停掉某个应用
systemctl stop mysqld
# 关闭开机自启
systemctl disable mysqld
# 重启 docker restart xxx
# 如何开放3306 端口
https://blog.csdn.net/weiyangdong/article/details/79540217
https://www.cnblogs.com/zfding/p/11429695.html
# linux docker 安装nginx 并配置ssl
https://blog.csdn.net/qq_35500925/article/details/105493374?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
# liunx 安装 pm2
https://my.oschina.net/u/2252639/blog/1798667
# pm2 基本操作
https://www.jianshu.com/p/7ba5a661f860
pm2 安装路径 /usr/local/node/node-v10.15.0-linux-x64/bin/pm2