李福春 · 2020年02月16日

0215 docker环境

docker的下载安装和基本使用

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

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

docker version

image.png

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

image.png

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,输入可以连接上;

image.png

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
原创不易,转载请注明出处。
推荐阅读
关注数
0
文章数
53
爱技术,爱编码,爱生活!
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息