Docker常用命令elasticsearch、redis、springboot、jdk

Docker 命令总结

前言: 根据自己工作需要进行了简单的docker命令总结.

一. 基本命令


官方仓库: https://hub.docker.com/
官方安装命令: curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
使用国内 daocloud 一键安装(最新版本):curl -sSL https://get.daocloud.io/docker | sh
启动服务: systemctl start docker
重启服务: systemctl restart docker
查看状态: systemctl status docker 停止服务:systemctl stop docker查看版本:docker -v`

拉取镜像: docker pull 镜像
查看镜像: docker images
创建容器: docker run -dit --privileged --name 名称 -p 7022:22 -v /home/es_config/plugin:/usr/share/elasticsearch/plugin 镜像ID
(--其中 -v /home/es_config/plugin:/usr/share/elasticsearch/plugin 冒号:前面是宿主机的文件夹地址,冒号:后面是docker容器中的文件夹地址。也可以指定文件.)
查看容器: docker ps -a

二. export命令


docker export [options] container
示例
docker export -o nginx-test.tar nginx-test
导出为tar
docker export #ID or #Name > /home/export.tar
--其中-o表示输出到文件,nginx-test.tar为目标文件,nginx-test是源容器名(name)

三. import命令


docker import [options] file|URL|- [REPOSITORY[:TAG]]
示例
docker import nginx-test.tar nginx:imp

cat nginx-test.tar | docker import - nginx:imp

四. save命令


docker save [options] images [images...]
示例
docker save -o nginx.tar nginx:latest

docker save > nginx.tar nginx:latest
--其中-o和>表示输出到文件,nginx.tar为目标文件,nginx:latest是源镜像名(name:tag)

五. load命令


docker load [options]
示例
docker load -i nginx.tar

docker load < nginx.tar
--其中-i和<表示从文件输入。会成功导入镜像及相关元数据,包括tag信息

六. Elasticsearch容器


镜像: docker pull elasticsearch:6.8.1

  1. 创建并修改elasticsearch.yml配置文件(修改node-name/添加允许跨域/开启xpack认证)
    vi /usr/share/elasticsearch/config/elasticsearch.yml
    #name和net配置
    cluster.name: "trusfort.es.cluster"
    network.host: 0.0.0.0
    #支持跨域
    http.cors.enabled: true
    http.cors.allow-origin: "*"
    #开启x-pack认证
    xpack.security.enabled: true

  2. 启动容器(添加配置文件挂载和环境变量)
    docker run -d -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -e "ELASTIC_PASSWORD=password" --name ecp-es-redis -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -v /usr/share/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:6.8.1(镜像ID)
    (--其中: -v /usr/share/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml 冒号:前面 是宿主机的文件地址,冒号:后面是docker容器中的文件地址. -e "ELASTIC_PASSWORD=password" 设置密码(生效前提是elasticsearch.yml中xpack.security.enabled: true); -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" 设置内存大小; -e "discovery.type=single-node" 单例模式.)

七. Redis容器


拉取镜像:
docker pull redis:5.0.5
启动容器: 在启动容器时添加redis密码
docker run --name redis -p 6379:6379 -d redis:5.0.5(镜像ID) --requirepass "your redis password"
拉取镜像并启动容器: (添加密码)
docker run --name redis -p 6379:6379 -d --restart=always redis:latest redis-server --appendonly yes --requirepass "your redis password"
(--其中: --requirepass "your redis password" 设置密码)

八. springboot项目


1.Dockerfile
1.1 单个项目(jar)
Dockerfile:
FROM adoptopenjdk/openjdk8
VOLUME /tmp
EXPOSE 8000
ADD ecp-eureka-3.1.0.jar eureka.jar
RUN sh -c 'touch /eureka.jar'
ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom","-jar", "/eureka.jar" ]

1.2 多个项目(jar)
Dockerfile:
FROM adoptopenjdk/openjdk8
VOLUME /tmp
COPY ecp-gateway-3.1.0.jar /ecp/gateway/ecp-gateway-3.1.0.jar
COPY ecp-eureka-3.1.0.jar /ecp/eureka/ecp-eureka-3.1.0.jar
COPY ecp-manage-3.1.0.jar /ecp/manage/ecp-manage-3.1.0.jar
COPY eureka_gateway_manage_start.sh /ecp/start.sh
CMD ./ecp/start.sh

start.sh启动脚本:
#!/bin/bash
cd /ecp/eureka
nohup java -Dfile.encoding="UTF8" -Dsun.jnu.encoding="UTF8" -jar ecp-eureka-3.1.0.jar > eureka.log 2>&1 &
cd /ecp/gateway
nohup java -Dfile.encoding="UTF8" -Dsun.jnu.encoding="UTF8" -jar ecp-gateway-3.1.0.jar > gateway.log 2>&1 &
cd /ecp/manage
nohup java -Dfile.encoding="UTF8" -Dsun.jnu.encoding="UTF8" -jar ecp-manage-3.1.0.jar > manage.log 2>&1 &
cd
echo "启动成功"
/bin/bash

2.构建docker镜像( 注意最后有个"." )
docker build -t springbootdemo .

3.查看镜像
docker images

4.启动容器
docker run -dit --privileged --name 名称 -p 7022:22 镜像ID

九. 网关docker运行命令


docker run -it --name ecg-gw1 -p 12345:12345 -p 10001:10001 -p 10005:10005 -p 9000:9000 镜像id

十. 拉取java8环境镜像


docker pull adoptopenjdk/openjdk8

docker commit :从容器创建一个新的镜像。
语法
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS说明:
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值