赞
踩
Docker
什么是docker?
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
一个完整的Docker有以下几个部分组成:
Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。
Docker自2013年以来非常火热,无论是从 github 上的代码活跃度,还是Redhat在RHEL6.5中集成对Docker的支持, 就连 Google 的 Compute Engine 也支持 docker 在其之上运行。
一款开源软件能否在商业上成功,很大程度上依赖三件事 - 成功的 user case(用例), 活跃的社区和一个好故事。 dotCloud 之家的 PaaS 产品建立在docker之上,长期维护且有大量的用户,社区也十分活跃,接下来我们看看docker的故事。
面对上述几个问题,docker设想是交付运行环境如同海运,OS如同一个货轮,每一个在OS基础上的软件都如同一个集装箱,用户可以通过标准化手段自由组装运行环境,同时集装箱的内容可以由用户自定义,也可以由专业人员制造。这样,交付一个软件,就是一系列标准化组件的集合的交付,如同乐高积木,用户只需要选择合适的积木组合,并且在最顶端署上自己的名字(最后一个标准化组件是用户的app)。这也就是基于docker的PaaS产品的原型。
安装jdk8
1.tar -zxvf jdk-8u221-linux-x64.tar.gz
2.mv jdk1.8.0_221 /usr/local/jdk8
3.vi /etc/profile
export JAVA_HOME=/usr/local/jdk8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
4.source /etc/profile
5.java javac java -version、
安装docker
直接使用官方命令一键安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
启动
systemctl start docker.service
查看状态
systemctl status docker.service
让他后台自动挂起启动
systemctl enable docker.service
配置镜像加速器
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://c8vhi84g.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
使用命令查找镜像信息
docker search mysql
下载mysql (不止于mysql)
docker pull mysql的话默认最新版本 需要指定版本就:版本
docker pull mysql:5.7
查看镜像是否被下载拉取下来
docker images
运行容器并设置mysql密码
--name 运行名字为mysql57的数据库
--e mysql密码
--p 端口映射 3306:3306
--让mysql后台运行
docker run --name mysql57shen -e MYSQL_ROOT_PASSWORD=123456 -p 3307:3306 -d mysql:5.7
查询启动的容器 加-a没启动的也能查询出来
docker ps -a 7.0.62
停止容器
docker stop id
启动容器**
docker start id
暴力删除容器 不加id 需要停止再删除加stop
docker (stop) rm -rf id
删除所有的容器
docker rm -f $(docker ps -qa)
进入mysql 容器
docker exec -it
删除镜像
docker rmi imageID
容器与主机之间数据拷贝
docker cp 文件那个位置 到那个位置 ``
常用命令
#查询在docker仓库中是否有这个工具/软件 #可以通过官网进行查询(https://hub.docker.com) docker search 名称 docker search mysql #拉取需要的镜像(image) docker pull 名称:tags docker pull mysql:8.0.13 #查看拉取的镜像文件(相当于现在已经下载了一个安装包) docker images/docker image ls #删除镜像 docker rmi 镜像ID #如何启动一个容器(怎么安装这个安装包) -deamon docker run --name 自定义名称 -e 参数 -p 宿主机端口:容器端口 -d 镜像名称 #以安装mysql为例 docker run --name mysql8 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:8.0.13 #查看启动日志 docker logs 容器名称/容器ID #停止运行中的容器 docker stop 容器ID #启动停止的容器 docker start 容器ID #查看所有的容器 docker ps -a #仅仅只查看启动的容器 docker ps #删除启动中的容器(这个容器必须是已经停止的) docker rm 容器ID #强制删除一个容器 docker rm -f 容器ID #修改密码 #先要进入容器内部 #docker 执行 交互 容器 到bin目录以bash命令进行交互 docker exec -it 容器ID /bin/bash
装 Docker Compose
直接用一键安装 #1.Run this command to download the current stable release of Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#2.Apply executable permissions to the binary:
sudo chmod +x /usr/local/bin/docker-compose
#3.Test the installation.
docker-compose --version
成功
docker-compose version 1.27.4, build 1110ad01
然后 cd docker
创建yaml
mkdir docker-compose.yaml
vi docker-compose.yaml
这是我的配置文件
直接安装mysql,nacos,sentinel,rabbitmq
services: mysql: container_name: mysql image: mysql:5.7 environment: - MYSQL_ROOT_PASSWORD=123456 volumes: - /app/cloud/mysql/data:/var/lib/mysql ports: - "3307:3306" restart: always nacos: image: nacos/nacos-server:1.4.1 container_name: nacos hostname: nacos restart: always environment: - MODE=standalone - TZ=Asia/Shanghai - NACOS_SERVER_PORT=8848 - SPRING_DATASOURCE_PLATFORM=mysql - MYSQL_SERVICE_HOST=119.23.176.114 - MYSQL_SERVICE_PORT=3307 - MYSQL_SERVICE_DB_NAME=nacos_config - MYSQL_SERVICE_USER=root - MYSQL_SERVICE_PASSWORD=123456 - PREFER_HOST_MODE=hostname volumes: - /app/cloud/nacos/logs:/home/nacos/logs ports: - "8848:8848" sentinel: image: bladex/sentinel-dashboard:1.8.0 container_name: sentinel ports: - "8858:8858" restart: always rabbitmq: hostname: rabbitmq environment: RABBITMQ_DEFAULT_VHOST: "root" RABBITMQ_DEFAULT_USER: "root" RABBITMQ_DEFAULT_PASS: "123456" image: "rabbitmq:3.9.14-management" restart: always volumes: - "/usr/local/bank/rabbitmq/data:/var/lib/rabbitmq" - "/usr/local/bank/rabbitmq/log:/var/lib/rabbitmq/log" ports: - "15672:15672" - "4369:4369" - "5672:5672" - "25672:25672" 执行 docker-compose up -d -d是后台运行
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。