docker平台中常用的镜像,容器,和数据卷操作指令
-
卸载Docker
- sudo yum remove docker-ce
docker-ce-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
-
在线安装docker
-
第一步安装一组工具:
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
-
离线安装Docker
-
Docker 服务的基本操作
-
Docker 镜像操作
-
Docker 容器操作实践
-
-it:这是两个参数(-i表示交互式操作,-t表示终端)
-
bash表示进入操作终端,基于交互式进行相关操作
-
下载CentOS镜像:docker pull centos:7
创建并启动容器:docker run -it 镜像名/镜像id前几位 bash
例如:docker run -it centos:7 bash
查看docker运行中的容器(要在宿主机执行docker指令):docker ps
查看docker运行中的所有容器:docker ps -a
查看容器日志logs信息:docker container logs 802(容器id的前三位)
停止容器:docker container stop 802
重启容器:dockerscontainer restart 802
当容器处于运行状态,要进入容器可以使用docker exec命令(若没有运行时,执行此命令会出问题):docker exec -it 802 bash
退出容器:exit
删除容器:docker container rm 802(若容器正在运行执行此命令会出错)
删除正在运行的容器:docker container rm -f 802
清除所有处于终止状态容器:docker container prune(执行完后,可以通过docker ps -a查看容器是否删除了)
-
数据卷操作:
-
创建数据卷:docker volume create container-vol
查看所有数据卷:docker volume ls
查看指定数据卷的信息:docker volume inspect container-vol
启动挂载数据卷的容器:docker run -it --mount source=container-vol,target=/root centos:7 bash (简写:docker run -it -v container-vol:/root centos:7 bash)
删除数据卷(如果数据卷被容器使用则无法删除):docker volume rm container-vol
清理无主数据卷:docker volume prunm
-
Dockerfile及镜像制作实践
-
把压缩包jdk-8u51-linux-x64.tar.gz拷贝到/root/setup/jdk中
-
进入jdk-8u51-linux-x64.tar.gz文件所在目录:基于vim创建Dockerfile文件:vim Dockerfile
-
拷贝:
FROM centos:7
ADD jdk-8u51-linux-x64.tar.gz /usr/local/docker
ENV JAVA_HOME=/usr/local/docker/jdk1.8.0_51 \
PATH=/usr/local/docker/jdk1.8.0_51/bin:$PATH
CMD ['bash']
-
制作JDK镜像
-
创建jdk镜像文件:在Dockerfile所在目录执行docker build指令
-
运行JDK镜像文件
-
基于JDK镜像启动sentinel:
-
第一步:将sentinel-dashboard-1.8.0.jar拷贝宿主机指定目录,例如/root/servers目录(servers目录不存在可以自己创建)。
-
启动镜像容器,通过java执行运行web服务
基于jdk:8镜像启动运行sentinel服务(服务启动后可在宿主机通过localhost:8180进行访问)
docker run -d -p 8180:8080 --name sentinel \
-v /root/servers:/usr/sca \
jdk:8 java -jar /usr/sca/sentinel-dashboard-1.8.0.jar
- -d 表示后台运行
- -p 用于实现端口映射(假设外部要访问这个容器,必须要做端口映射)
- –name 表示为启动的容器起一个名字
-
这里,服务启动后可通过docker ps 指令查看启动的服务,假如看不到服务,可能服务启动失败,可通过如下指令查看具体日志
docker container logs 689 #这里689为容器id,也可以为你的容器名
-
第三步:打开浏览器,访问sentinel服务.
在windows中打开浏览器,输入你的ip地址(这个ip为远端宿主机的ip地址),端口号为宿主机的端口号.(8081)
-
制作Sentinel镜像文件
-
通过docker images指令查看centos:7是否存在,然后将 jdk-8u51-linux-x64.tar.gz,sentinel-dashboard-1.8.0.jar放在/root/setup/sentinel目录(目录不存在的话自己创建)
-
安装Mysql数据库
-
安装Redis数据库
-
安装Nginx代理
-
安装Nacos组件
-
安装nacos组件:
-
第一步下载:docker pull nacos/nacos-server:1.4.1
第二步: mysql中执行nacos的sql脚本文件
1)将此文件nacos-mysql.sql(这个文件可从code服务器下载)拷贝到mysql容器的宿主机对应的挂载目录(可通过docker inspect mysql查看你mysql的挂载目录)
2)在linux环境下启动并登录mysql进入mysql容器(前提是mysql已启动):docker exec -it mysql bash
登录mysql:mysql -uroot -p
3)通过source指令运行容器目录下的sql文件:source /etc/mysql/nacos-mysql.sql #这里的/etc/mysql为容器中的一个目录(要选择你自己挂载的目录)
第三步:创建并启动nacos容器(拷贝下面内容时,账号和密码要用自己宿主机ip,自己数据库的账号密码):
docker run \
-e TZ="Asia/Shanghai" \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_DATABASE_NUM=1 \
-e MYSQL_SERVICE_HOST=192.168.126.129 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=root \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-p 8848:8848 \
--name nacos \
--restart=always \
-d nacos/nacos-server:1.4.1
第四步:检查nacos服务:docker ps
假如启动失败,检查启动日志,例如:docker container logs nacos(其中,nacos的启动日志在/home/nacos/logs/start.out文件中。
访问nacos服务
启动nacos,然后在windows中输入http://ip:port/nacos方式进行访问测试(port为:8848)
停止访问:docker stop nacos
启动访问:docker start nacos
重启访问:docker restart nacos
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)