1.1Docker安装
1.2.1初始化环境
准备CentOS,本次以CentOS7为例进行安装,官方安装手册为:
https://docs.docker.com/engine/install/centos/
1.2.2Yum 在线安装
第一步:卸载旧版
sudo yum remove docker-ce \
docker-ce-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
第二步:安装一组工具
安装失败的话检查是否有网络,测试能不能ping通baidu.com。
如果不能检查网关和DNS是否正常
sudo yum install -y yum-utils
第三步:设置 yum 仓库地址
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
第四步:更新 yum 缓存
sudo yum makecache fast #yum 是包管理器
第五步:安装新版 docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
1.3Docker入门实践
1.3.1基本操作
第一步:启动docker
sudo systemctl start docker
第二步:设置 docker 开机启动
sudo systemctl enable docker
第三步:镜像加速
由于国内网络问题,需要配置加速器来加速。修改配置文件 /etc/docker/daemon.json
下面命令直接生成文件 daemon.json
cat <<EOF > /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com"
],
"max-concurrent-downloads": 10,
"log-driver": "json-file",
"log-level": "warn",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"data-root": "/var/lib/docker"
}
EOF
说明:在执行如上指令时,保证你的登录用户为root管理员用户。
第四步:重新启动服务。
重新加载docker配置
sudo systemctl daemon-reload
#重启docker服务
sudo systemctl restart docker
第五步:查看镜像配置
docker info
第六步:运行 hello-world 镜像,验证 docker
sudo docker run hello-world
第七步:检查docker 镜像
Docker images
第八步:检查已启动的docker 服务 (正在运行的)
Docker ps
假如希望查看所有镜像,包含没有运行的镜像容器,可以执行如下指令:
Docker ps –all
第九步:停止docker服务
docker stop 服务id
第十步:删除docker 镜像
docker image rm hello-world
假如镜像被占用着是不可以直接被删除的,需要先删除应用此镜像的容器,例如
docker container rm 容器名或容器id
2-Docker 镜像安装实践
安装MySql数据库
安装步骤
第一步:在hub.docker.com上搜索mysql镜像
略
第二步:拉取指定版本的mysql,也可以指定拉取版本,例如:
docker pull mysql:8.0.23
第三步:检查mysql镜像
docker images
第四步:启动运行mysql镜像 (docker run 用于启动一个容器)
sudo docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.23
假如安装过程中失败了,则可通过docker ps -a 查看以前的容器:
如果提示挂载权限失败,在docker run中加入 –privileged=true 给容器加上特定权限
假如已存在,则通过docker rm 镜像id 删除再重新安装即可。
登陆mysql服务
第一步:进入容器 (退出容器用exit)
sudo docker exec -it mysql bash
1
第二步:登陆(默认密码root),一定要先进入mysql容器。
mysql -uroot -proot
1
停止和启动mysql服务
停止mysql服务(可选)
docker stop mysql
启动mysql服务
docker start mysql
假如希望查看mysql启动时的日志,可以执行 docker container logs mysql 这个指令。
设置mysql开机自启动(可选)
docker update mysql --restart=always
安装Redis数据库
安装步骤
第一步:下载镜像文件
docker pull redis
第二步:创建redis实例并启动
创建redis配置文件目录
mkdir -p /usr/local/docker/redis01/conf
在配置文件录下创建redis.conf配置文件(因为redis镜像中这个redis.conf是一个目录所以要先创建一个这个配置文件,否在我们本地挂载点也会变成一个目录)
```java
touch /usr/local/docker/redis01/conf/redis.conf
sudo docker run -p 6379:6379 --name redis01 \
-v /usr/local/docker/redis01/data:/data \
-v /usr/local/docker/redis01/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
第三步:查看正在运行的进程
docker ps
访问redis服务器
第一步:控制台直接连接redis测试
docker exec -it redis01 bash
1
第二步:检测redis 版本
redis-server -v
1
或者
redis-cli -v
1
第三步:登录redis(默认不需要密码)
redis-cli
1
或者直接将上面的两个步骤合为一个步骤执行也可以,指令如下:
docker exec -it redis01 redis-cli
1
停止和启动redis服务
停止redis服务?
```java
docker stop redis01
1
启动redis服务?
```java
docker start redis01
1
重启 redis 服务?
docker restart redis01
1
安装Ngnix代理
安装步骤
第一步:拉取ngnix镜像 (从这里hub.docker.com去查找)
docker pull nginx
第二步:查看images镜像
docker images
第三步:简单启动(这个目的是为了拿到nginx的默认资源文件,默认会释放到/etc/nginx目录)
docker run --name nginx –d nginx
检测安装的内容
docker exec nginx ls -l /etc/nginx
第四步:拷贝安装好的配置文件(将nginx容器服务中的文件拷贝宿主机指定目录)
docker cp -a nginx:/etc/nginx /usr/local/docker/nginx
第五步:强制卸载刚刚安装的nginx
docker rm -f nginx
第六步:运行nginx镜像,挂载dist包到nginx容器,
sudo docker run -p 80:80 --restart always --name nginx \
-v /usr/local/docker/nginx/:/etc/nginx/ \
-v /usr/local/docker/nginx/conf.d:/etc/nginx/conf.d \
-v /home/dist:/usr/share/nginx/html \
-d nginx
停止nginx服务
docker stop nginx
启动nginx服务
docker start nginx
重启nginx服务
docker restart nginx
安装Nacos组件
安装步骤
第一步:拉取nacos(hub.docker.com)
docker pull nacos/nacos-server:2.0.3
1
第二步: mysql中执行nacos的sql脚本文件
1)将此文件nacos-mysql.sql(这个文件可从code服务器下载)拷贝到mysql容器的宿主机对应的挂载目录(可通过docker inspect mysql查看你mysql的挂载目录)
2)在linux环境下启动并登录mysql
进入mysql容器(前提是mysql已启动)
docker exec -it mysql bash
1
登录mysql
mysql -uroot -p
1
3)通过source指令运行容器目录下的sql文件
source /容器目录/nacos-mysql.sql
1、创建数据目录
mkdir -p /mydata/nacos2.0.3/logs
mkdir -p /mydatadata/nacos2.0.3/conf
2、第一次运行镜像
docker run \
-e TZ="Asia/Shanghai" \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_DATABASE_NUM=1 \
-e MYSQL_SERVICE_HOST=172.20.21.127 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=OHJrTobwubDJ3kaA \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-p 8848:8848 \
--name nacos \
--restart=always \
-d nacos/nacos-server:2.0.3
参数说明
单节点模式
MODE=standalone
数据库地址
MYSQL_SERVICE_HOST
数据库用户名
MYSQL_SERVICE_USER
数据库密码
MYSQL_SERVICE_PASSWORD
需连接的数据库名称
MYSQL_SERVICE_DB_NAME
端口映射
-p 8848:8848
任意时候重启容器,开机就能自动启动容器(需设置docker为开机自启)
–restart=always
第四步:检查nacos服务
docker ps
假如启动失败,检查启动日志
docker container logs nacos
其中,nacos的启动日志在/home/nacos/logs/start.out文件中。
第五步\访问nacos服务:测试,在浏览器中输入http://ip:8848/nacos
第六步:拷贝目录资源(宿主机目录不存在则需先创建)
docker cp -a nacos:/mydata/nacos /mydata/nacos
启动nacos,然后在windows中输入http://ip:port/nacos方式进行访问测试
停止nacos服务
docker stop nacos
删除nacos服务
docker rm -f nacos
重启nacos服务
docker restart nacos
第九步:重新创建并启动nacos容器
docker run -d
-e TIME_ZONE=“Asia/Shanghai”
-e MODE=standalone
-e SPRING_DATASOURCE_PLATFORM=mysql
-e MYSQL_DATABASE_NUM=1
-e MYSQL_SERVICE_HOST=172.20.21.127
-e MYSQL_SERVICE_PORT=3306
-e MYSQL_SERVICE_USER=root
-e MYSQL_SERVICE_PASSWORD=OHJrTobwubDJ3kaA
-e MYSQL_SERVICE_DB_NAME=nacos_config
-v /mydata/nacos1/logs:/home/nacos/logs
-v /mydata/nacos1/conf:/home/nacos/conf
-p 8848:8848
–name nacos
–restart=always
nacos/nacos-server:2.0.3
第十步:启动nacos进行访问
测试能否成功导入/新增配置文件,如果不能的话可能是nacos数据库的问题(数据为空),重新导入一次sql试试。
tomcat
加载 tomcat 镜像
docker load < tomcat7-docker-image.gz
docker image ls
启动 tomcat 容器
六部版
docker run -d --name tomcat --net dockernet --ip 172.18.0.12 -v /opt/webapps:/usr/tomcat/webapps -p 8080:8080 tomcat:7
七步版
docker run -d --name web \
-p 80:8080 \
--net=dockernet \
--ip=172.18.0.12 \
-v /opt/easymall:/usr/local/tomcat/webapps \
--restart=always \
tomcat:10
后台启动jar包
nohup java -jar 1010.jar => 1010.log &