docker的下载安装和基本使用

我使用的mac,直接安装desktop。 然后命令行使用docker,关于desktop的使用,可以看官方文档

安装好之后,确认一下是否可以运行,输入docker version指令试试。

docker version

docker的基本指令

docker  info : 查看docker服务端的信息,比如有多少容器,有多少镜像在本地;

docker  search xxx  : 查找镜像仓库中的镜像

docker pull imageName:  拉取镜像到本地

docker run --name containerName -p containerport: dockerMachinePort imageName  : 运行镜像到本docker;

docker exec -it  containerName bash   进入docker容器内部,开启shell命令行

更多指令




还可以在idea中按照插件的方式使用docker

docker安装mongodb

下载镜像

docker pull mongo

启动镜像容器

docker run --name mongo -p 27017:27017 -v /data/mongo:/data/db -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=root -d mongo --serviceExecutor adaptive --wiredTigerCacheSizeGB 0.5

使用docker连接mongo

docker exec -it mongo bash

即可管理mongodb ;

mongo -u  root -p root
show dbs;
use springxxx;

idea连接mongodb

docker安装redis

  1. 拉取镜像
docker pull redis
  1. 启动docker容器
docker run --name redis -p 6379:6379 -d redis
  1. 进入容器内部执行redis指令
docker exex -it redis bash
  1. 执行redis指令
set a aaa
get a

docker安装mysql

  1. 拉取mysql指令
docker pull mysql:5.6.47
  1. 运行docker container ;
docker run --name mysql -p 3306:3306 -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_ROOT_HOST=% -d mysql:5.6.47 --character-set-server=utf8mb4
  1. 进入container,管理mysql
docker exec -it mysql bash
  1. 管理mysql
mysql -uroot  -proot
show databases;

打开idea的database,输入可以连接上;

docker运行springboot程序

  1. 准备好springboot程序;

starter.spring.io中快速生成;比如一个helloworld程序,写一个简单控制器;

package com.springbucket.demo_helloworld;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; @SpringBootApplication
@RestController
public class Application { public static void main(String[] args) {
SpringApplication.run(Application.class, args);
} @GetMapping(path="hello")
public Object hello(){
return "hello";
} }
  1. 录入Dockerfile
From java:8
VOLUMN /tmp
ADD target/helloworld.jar app.jar
RUN bash -c 'touch /app.jar'
EXPORSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom", "-jar","/app.jar"]
  1. 制作docker的image ;

在项目目录下,执行bash脚本:

docker build -t helloworld1 .
  1. 运行docker镜像;
docker run --name helloworld1  -p 8000:8080  -d helloworld1
  1. 访问程序;
curl http://localhost:8000/hello

原创不易,转载请注明出处。

0215 docker环境的更多相关文章

  1. 从头开始搭建分布式日志平台的docker环境

    上篇(spring mvc+ELK从头开始搭建日志平台)分享了从头开始搭建基于spring mvc+redis+logback+logstash+elasticsearch+kibana的分布式日志平 ...

  2. 包含深度学习常用框架的Docker环境

    相关的代码都在Github上,请参见我的Github,https://github.com/lijingpeng/deep-learning-notes 敬请多多关注哈~~~ All in one d ...

  3. docker环境 快速使用elasticsearch-head插件

    docker环境 快速使用elasticsearch-head插件 #elasticsearch配置 #进入elk容器 docker exec -it elk /bin/bash #head插件访问配 ...

  4. Docker环境 ELK 快速部署

    Docker环境 ELK快速部署 环境 Centos 7.4 , Docker version 17.12 Docker至少3GB内存: #内核配置 echo ' vm.max_map_count = ...

  5. docker环境部署

    docker环境部署 1 查看当前系统版本 只支持CentOS7版本的系统,如果不是的话,可以让项目方进行重装或者系统内核升级. [root@bogon bin]# cat /etc/redhat-r ...

  6. centos7系统下 docker 环境搭建

    运行环境: VMware Workstation Pro 在虚拟机中安装centos7系统, 选择最小安装, 网络连接方式选择的桥接(与宿主机在同一IP段)centos7一定要安装64位, docke ...

  7. npm私有仓库 配置verdaccio在docker环境

    前端开发过程中,少不了自己封装一些通用的包,但又不想放在公共的平台,所以搭建一个npm私有的仓库是很有必要的. 在这里简单介绍如何使用 verdoccio 在docker环境下的配置.verdocci ...

  8. .netcore mvc docker环境jenkins一键部署(DevOps)

    [前言] DevOps方面的文章很早之前就想分享了,挤出一点时间把前段时间搭建的一些提高开发效率的东西给大家分享一下吧. 本文介绍了一个.netcore mvc web项目,从项目push到githu ...

  9. Docker环境下的Mysql8 实现主从数据库数据同步方案

    本文记录下通过MySQL Replication在Docker环境下,通过多个容器 实现数据库主从配置. MySQL Replication就不多解释了,简单说就是MySQL非常出色的一个功能,该功能 ...

随机推荐

  1. 清北学堂—2020.1提高储备营—Day 2 morning(并查集、堆)

    qbxt Day 2 morning --2020.1.18 济南 主讲:李佳实 目录一览 1.并查集 2.堆 总知识点:基础数据结构 一.并查集 1.描述:并查集是一类十分常用的数据类型,它有着十分 ...

  2. object解构赋值

    let options = { title: 'menu', width: 100, height: 200 } //如果简写,变量名必须和属性名一致 let {title,width,height} ...

  3. 二、JVM之体系结构

    一.JVM的架构模型 Java编译器输入的指令流基本上是一种基于栈的指令集架构,另外一种指令集架构则是基于寄存器的指令集架构. 具体来说这两种架构之间的区别: 基于栈式架构的特点 设计和实现更简单,适 ...

  4. UniGUI之UniLabel(31)

    1]改变文本Caption 2]改变颜色字体Font 3]点击访问网址,OnClick事件 1]改变文本Caption unilabel1.Caption:='unilabel1文本'; 2]改变颜色 ...

  5. 【daily】Java泛型 - 返回父类的子类

    一.栗子 public class GenericityInher { //error: Type mismatch: cannot convert from ArrayList<Child&g ...

  6. wxpython学习:创建最小的空的wxPython程序

    frame = wx.Frame(parent=None, title=’Bare’) frame.Show() return True app = App() app.MainLoop() 上面的代 ...

  7. css 字体旋转

    <div v-else> <img src="/img/dashboard/nodata.png"> <div style="color: ...

  8. VSCode常用插件之open in browser使用

    更多VSCode插件使用请访问:VSCode常用插件汇总 open in browser安装完这个插件就可以在编辑器菜单右键html,在默认浏览器打开了,高级使用暂未了解,请自行其它文章学习

  9. java面试记录一:跳表、判断二叉树相同、冒泡排序、cookie和session的区别、设计模式(单例、工厂、模板方法、原型、代理、策略)、抽象类与接口的区别

    1.什么是跳表? 跳表实际上就是多层链表 跳表可用在让链表的元素查询接近线性时间 代码结构及java实现参考博客园随笔 2.判断两棵二叉树是否相同?(结构相同,内容相同) 思路:(1)先定义树节点Tr ...

  10. pytest-测试用例teardown和setup

    setup和teardown对于处理一些前置条件很有帮助 用例运行级别 模块级(setup_moudle/teardown_moudle)开始于模块始末,全局的 所有用例开始前/结束后执行一次(整个. ...