docker入门安装

学习地址:Install Docker Engine on CentOS | Docker Documentation

1.官网上步骤都有,一步一步走

2.配置yum源,这一步用阿里的

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 3.安装最新版本或指定版本

4.启动

sudo systemctl start docker

5.运行hello world

 sudo docker run hello-world

6.阿里镜像加速配置
阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

扫码登录

 

 运行

docker info

查看刚才的配置,在最下面

7.使用

普通操作镜像搜索,下载,删除,导入,导出

docker search 镜像名    搜索
docker pull 镜像名    下载
docker rmi 镜像名    删除
docker load -i    /路径/包名.tar  导入tar包镜像
docker save -o   /路径/包名.tar   保存镜像为一个tar包

标题行:NAME     DESCRIPTION            STARS            OFFICIAL           AUTOMATED

              镜像名             描述                    下载次数           ok表示是官方包         

查看下载的镜像

docker images

 

8.容器操作

运行容器
docker run -d --name 容器名 -p 端口:端口 镜像名
docker run -d --name mynginx -p 80:80 nginx

停止容器
docker stop 容器名称id 
docker start 容器名称id 

// 容器内的第一个进程必须一直处于运行的状态,否则这个容器,就会处于退出状态!
docker run -d --name mycentos -p 8088:8088 centos /usr/bin/sleep 20

// 查看容器:
docker container ls -all
docker ps 
docker ps -a  包括没有运行的容器
docker ps -a|grep myredis

// 删除容器:
docker container rm 容器名
进入容器
docker exec -it 容器名 /bin/bash
docker run -it #参数:-it 可交互终端
docker run -it mynginx  /bin/bash
退出
exit

//把主机上/home/nginx.config文件复制到容器mynginx的/etc/nginx目录下
docker cp /home/nginx.config mynginx:/etc/nginx

退出容器Ctrl+P和Ctrl+Q分别按

9.安装redis

 创建redis容器与主机的挂载目录

docker pull redis:5.0
#运行redis
docker run --name myredis -p 6379:6379 -v /data/redis/config/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data -d redis:5.0 redis-server /etc/redis/redis.conf
#-------------------描述------------------------------------
docker run --name myredis	#容器名
 -p 6379:6379	#端口映射
 -v /data/redis/config/redis.conf:/etc/redis/redis.conf		#配置文件挂载目录
 -v /data/redis/data:/data		#data挂载目录
 -d redis:5.0	#运行镜像
 redis-server /etc/redis/redis.conf	#容器内运行redis-server,指定redis.conf配置文件

10.部署springboot项目

DokerFile文件

# Docker image for springboot file run
# VERSION 0.0.1
# Author: xx
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER xx@gmail.com
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为demo.jar
ADD demo-0.0.1-SNAPSHOT.jar demo.jar
# 运行jar包
RUN bash -c 'touch /demo.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/demo.jar"]
# 指定 ENTRYPOINT 以运行 Spring Boot 应用,并指定使用 prod 配置文件
# ENTRYPOINT ["java", "-jar", "/app.jar", "--spring.profiles.active=prod"]

#进入jar包和dockerfile所在的目录中
#构建
docker build -t demo1:1.0 .
#描述
-t    #构建镜像
demo1:1.0    #镜像名:版本标签
.    #最后一个点表示当前目录

#运行容器
docker run -it -d --name demo -p 8082:8082 demo1:1.0

11.离线安装mysql

找到一台联网的安装了docker的服务器,查看当前docker镜像:docker images ,拉取mysql镜像包:

#保存镜像到本地
docker save -o mysql.tar mysql:8.0.20
#加载镜像
docker load -i mysql.tar
#启动镜像
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456  -d mysql:8.0.20
#启动成功后,进入容器内部拷贝配置文件,到宿主主机
docker cp  mysql:/etc/mysql /data/mysql8.0
#停止mysql容器
docker stop mysql
#再删除容器
docker rm mysql

启动mysql ,挂载配置文件,数据持久化到宿主主机
启动脚本 文件名为mysql.sh

#!/bin/sh
docker run \
-p 3306:3306 \
--name mysql \
--privileged=true \
--restart unless-stopped \
-v /data/mysql8.0/mysql:/etc/mysql \
-v /data/mysql8.0/logs:/logs \
-v /data/mysql8.0/data:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0.20

运行角本./mysql.sh

12.安装nacos

//拉镜像
docker pull nacos/nacos-server

//运行容器
docker run -d -p 8848:8848 --name nacos \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.48.128 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos-config \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
nacos/nacos-server


//参数描述
-e MODE=standalone \					//单机模式
-e SPRING_DATASOURCE_PLATFORM=mysql \	//mysql持久化
-e MYSQL_SERVICE_HOST=192.168.48.128 \	//mysql机器ip
-e MYSQL_SERVICE_PORT=3306 \			//mysql端口
-e MYSQL_SERVICE_DB_NAME=nocos-config \	//mysql数据库名
-e MYSQL_SERVICE_USER=root \			//mysql登录用户
-e MYSQL_SERVICE_PASSWORD=123456 \		//mysql登录密码

13.安装canal,配置canal为rabbitmq模式

docker pull canal/canal-server:latest
# 创建一个容器
docker run --name canal2 -d canal/canal-server:latest
# 复制容器中的配置文件到本地
docker cp canal2:/home/admin/canal-server/conf/canal.properties /data/canal
docker cp canal2:/home/admin/canal-server/conf/example/instance.properties /data/canal

#把配置文件拷贝出来后,停止容器,删除容器

#修改配置文件,用挂载本地文件的方式启动容器
docker run --name canal2 -p 11111:11111 \
-v /data/canal/instance.properties:/home/admin/canal-server/conf/example/instance.properties \
-v /data/canal/canal.properties:/home/admin/canal-server/conf/canal.properties \
-d canal/canal-server:latest

需要修改canal.properties和instance.properties

需要修改的内容canal.properties

# tcp, kafka, rocketMQ, rabbitMQ
# 用rabbitmq模式
canal.serverMode = rabbitMQ

##################################################
#########                   RabbitMQ         #############
##################################################
rabbitmq.host = 192.168.48.128
rabbitmq.virtual.host = /
rabbitmq.exchange = canalTest.ex
rabbitmq.username = admin
rabbitmq.password = admin
rabbitmq.deliveryMode = direct

#其它属性都不用改

需要修改的内容instance.properties

# position info
# mysql地址
canal.instance.master.address=192.168.48.128:3306

# username/password
# mysql用户密码
canal.instance.dbUsername=root
canal.instance.dbPassword=123456

# mq config
# rabbitmq 的路由key
canal.mq.topic=canalTest.rk

#其它属性都不改

创建rabbitmq交换器,队列,绑定,设置权限

用户权限

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值