1、docker的介绍
docker是一个镜像容器引擎,他可以将我们的应用和相关的依赖打包到一个容器中。这种打包会将对应的应用依赖的一些系统底层依赖一并打包进去,这样应用可以避免因为一些系统版本不同的原因导致应用运行失败的问题。docker各个容器之间互相独立,不会相互影响。这点依赖于沙箱技术。
2、centos7下安装docker
(1)卸载系统原来安装的docker,如果未安装可以不用执行。(也用于卸载docker)
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
这里我服务器下没有装过docker,所以没有匹配到相关的包程序
(2)安装yum相关的工具
yum install -y yum-utils
这里的提示我已经安装过了,且已经是最新的版本
(3) 通过yum安装docker,这里下载的docker-ce社区版
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(4)安装docker引擎
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
说明:
container engine容器引擎
docker是一个容器管理的软件
docker-ce是服务器端软件
serverdocker-ce-cli是客户端软件client
docker-compose-plugin是compose插件,用来批量后动很多容器,在单台机器上containerd.io底层用来后动容器的
(5)启动docker
systemctl start docker
这是以默认组和用户启动的,我们也可以设置docker的用户来管理docker。
(6)配置阿里云加速镜像
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://i7a9tbr3.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
3、docker拉取nacos镜像并启动
docker pull nacos/nacos-server
这样是拉取最新的镜像
查看nacos镜像
docker images
创建nacos容器
docker run --name nacos -p 8848:8848 -d nacos/nacos-server
可以使用docker ps 查看容器的信息(容器名,容器状态,端口映射,容器id等)
可以使用docker logs 容器名 查看容器的启动运行日志
创建启动nacos容器后,查看日志会有报错
没有设置nacos的数据库,这里需要进入容器,设置nacos的数据库。
docker exec -it nacos bash
这里有nacos数据库脚本(mysql)====这个不是mysql的脚本。所以以下复制操作可不用执行。需要自己去nacos官网找到mysql数据库的脚本。
将nacos 的sql文件复制到本机目录下(需要退出容器)
docker cp nacos:/home/nacos/conf/schema.sql /opt
nacos:容器名称
/opt : 目的路径
接下来,执行该sql文件,过程略。
docker启动nacos,并用以上配置的数据库。
移除上面创建的nacos容器
docker rm nacos
创建容器
注意替换自己的ip,用户密码等
docker run --name nacos -p 8848:8848 -p 9848:9848 -p 9849:9849 \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=xxxxx \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=xxxxxx \
-d nacos/nacos-server
可以通过docker logs nacos和docker ps 查看容器运行日志和容器状态,这里容器运行日志里没有上面的报错(no datasource) 。
我么在浏览器查看nacos的页面