区块链服务器租用大带宽高防服务器Docker安装与基础命令
服务器咨询敏敏QQ:2853898501 / 3007425289 电话微信:18316411879
一. Docker概述
Docker是一个应用容器引擎;
应用场景:web的自动化打包发布,自动化测试、可持续集成,安装各种组件;
与传统虚拟机比较:docker启动速度比较快,占用体积较小;
组成:docker守护进程,仓库,镜像,容器,docker客户端.
二. Docker安装与启动
步骤 :
更新yum源为ustc;
安装docker;
更新docker的镜像源为ustc;
使用docker命令操作docker.
代码块 :
#启动
systemctl start docker
#停止
systemctl stop docker
#查看docker启动状态
systemctl status docker
三. 镜像和容器相关命令
拉取:
docker pull 镜像名称:版本号(若不指定则为默认版本)
删除:
若镜像中有对应容器,无法被删除
docker rmi docker images -q(慎用)
查看镜像:
docker images
创建容器:
创建交互式容器(启动容器之后会直接进入容器的命令行终端,如果退出则容器停止)
docker run -it --name=容器名称:容器版本号 /bin/bash
创建守护式容器(启动容器之后不会直接进入容器的命令行终端,可后台运行)
docker run -id --name=容器名称:容器版本号
启动容器后再次进入容器
docker exec -it 守护式容器名称 /bin/bash
退出容器:
exit
查看容器:
docker ps (查看正在运行的容器)
docker ps -a (查看所有容器)
容器停止:
docker stop 容器名称/容器ID
再次启动容器:
docker start 容器名称
查看容器状态 :
docker ststus 容器名称
文件拷贝 (宿主机与容器文件互拷):
#将宿主机中的测试文件复制到容器中
#创建测试文件test1
touch test1.txt
#将测试文件复制到mycentos容器的根目录中
docker cp test1.txt mycentos:/
#将容器中的测试文件test2复制到宿主机中
#先进入容器
docker exec -it mycentos /bin/bash
#创建测试文件test2
touch test2.txt
#将测试文件复制到宿主机中
#先退出容器
exit
#复制文件
docker cp mycentos:/test2.txt /root
目录挂载 (将宿主机的目录和容器目录进行映射,可以通过修改宿主机的目录文件更新容器):
创建容器时添加-v参数
若共享多级目录时,可能出现权限不足提示,需添加参数 --privileged=true
#创建VM需要挂载的目录
mkdir /usr/locl/test
#创建并启动容器,并挂载目录
docker run -id -v /usr/local/test:usr/local/test --name=mycentos2 centos:7
查看容器IP(ip用于容器之间通信)
docker inspect 容器名称/容器ID
容器删除
容器在运行时无法被删除
docker rm 容器名称
四. 容器部署
-id : 创建守护式容器
-it : 创建交互式容器
-p : 创建端口映射
-v : 目录挂载
-e : 环境配置
MySQL容器部署
拉取mysql镜像;
创建并启动守护式容器;
在容器中操作mysql;
使用图形界面工具(windows)操作在docker中安装的mysql;在创建mysql容器的时候使用-p指定端口映射实现连接
docker run -id --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
Tomcat容器部署
拉取tomcat镜像;docker pull tomcat
创建并启动tomcat容器;
访问容器中tomcat
docker run -id --name=mytomcat -p 8080:8080 -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps tomcat
Nginx容器部署
拉取nginx镜像;
创建并启动nginx容器;
在浏览器上访问容器中nginx.
docker run -id --name=nginx -p 80:80 -v /usr/local/nginx:/usr/local/nginx nginx
Redis容器部署
拉取redis镜像;
创建并启动redis容器;默认端口是6379,如果需要外部访问则可以使用端口映射;
连接redis: ①使用命令行客户端 ②使用图形界面工具
docker run -id --name=redis -p 6379:6379 redis
RebbitMQ容器部署
拉去RebbitMQ镜像
创建并启动RebbitMQ容器;默认端口5672
访问跟RebbitMQ,端口为15672
docker run -di --name=myrabbitmq -p 5672:5672 rabbitmq:management
|