Docker基本用法

 

https://www.cnblogs.com/codexiaoyi/p/13395719.html 

docker build -t yinwensheng/yihuiwebsite:v1 .

docker push  yinwensheng/yihuiwebsite:v1 

 

 docker login 

docker images

 

1.创建Dockerfile文件命令 在项目目录下
FROM node:8.11.2
WORKDIR app
COPY . .
EXPOSE 8081
ENTRYPOINT [ "node","server.js" ]

 

2.docker build -t yinwensheng/kube-node-demo:v1 . 打包镜像 
docker build -f /path/to/a/Dockerfile .

 

3.docker login --username yinwensheng 登录 do
 
4.docker push yinwensheng/kube-node-demo:v1 上传镜像
 

 

docker exec -it f14e9a56cc03 redis-cli

 

#Sonarqube基本Run方式 docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube

/usr/local/docker

/marvel/local

sudo mkdir -p /var/marvel/logs
sudo chmod 777 /var/marvel/logs
 
curl http://139.196.238.104:9000/
 
docker-compose up -d
docker-compose down
使用docker-compose搭建Sonarqube平台
sudo touch docker-compose.yml

version: "3.3"
services:
adminer:
image: adminer
restart: always
ports:
- 8088:8080

sonarqube6.7:
image: sonarqube:latest
container_name: sonarqube
ports:
- "9000:9000"
- "9092:9092"
volumes:
- /etc/localtime:/etc/localtime:ro
environment:
- SONARQUBE_JDBC_USERNAME=root
- SONARQUBE_JDBC_PASSWORD=*****
- SONARQUBE_JDBC_URL=jdbc:mysql://localhost:3306/hzc?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false

 
 
 
 
 
docker exec -it mysql-master bash
date
docker inspect 查看容器信息
Docker容器加K8S编排是当前容器云的主流实践之一
 
# -d 是指定后台运行
# --name是指定容器名称
# -p 8080:8080 是指将容器的8080端口映射给宿主机的8080端口
格式为:主机(宿主)端口:容器端口
docker run -d --name test -p 8080:8080 itweknow/springboot-docker
 

 

 

 

 
 

 

docker exec -it 189e7fbaf9f3 bash mysql

 
 
docker pull elasticsearch

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name es01 5c1e1ecfe33a、
spring.elasticsearch.jest.uris=http://127.0.0.1:9200
 
##端口号
server.port=8888
 
##es地址
#spring.data.elasticsearch.cluster-nodes = 192.168.1.137:9300
 
spring.elasticsearch.jest.uris=http://127.0.0.1:9200
 
spring.data.elasticsearch.cluster-name=docker-cluster
spring.data.elasticsearch.cluster-nodes=192.168.1.137:9300
 
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
 
 
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
<version>2.1.1.RELEASE</version>
 
@Document(indexName = "esunit", type = "esunit", shards = 1, replicas = 0)
 
docker pull mobz/elasticsearch-head:5
 
 
docker pull rabbitmq:management
 
docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:management
 
 
docker pull zookeeper
docker run --privileged=true -d --name zookeeper --publish 2181:2181 -d zookeeper:latest
docker ps
 
docker exec -it imageid  redis-cli
docker exec -it 4591552a4185 bash
exec 对容器执行某些操作
-it 让容器可以接受标准输入并分配一个伪tty
4591552a4185 是刚刚启动的 nginx 容器唯一标记
bash 指定交互的程序为 bash
 
 
打包
docker build -t expert:v1 .
docker build -t datax .
 
运行
docker run -d -p 8888:8080 datax
 
container
docker stop container
docker rm container
 
docker 日志
docker logs -tf 652
 
 
image
docker images
docker rmi
 
打包镜像
docker build -t hellowebapp:1.0 .
 
# 基础镜像使用Java

FROM java:8

# VOLUME 指定了临时文件目录为/tmp

VOLUME /tmp

# 将jar包添加到容器中并更名为aevenger.jar

ADD marvel-eureka-1.0.0-RELEASE.jar aevenger.jar

# 运行jar包

# RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

RUN /bin/bash -c 'touch /aevenger.jar'

#ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./
urandom","-Dspring.profiles.active=k8s","-Dmarvel-eureka-01.hostname=test-marvel-1","-Dmarvel-eureka-02.hostname=test-marvel-2","-jar","/aevenger.jar"]

# 指定容器需要映射到主机的端口

EXPOSE 8761

ENTRYPOINT

入口点,在指定容器启动程序及参数

场景一:让镜像变成像命令一样使用。
场景二:应用运行前的准备工作。
可多次设置,但只有最后一个有效。

ENTRYPOINT[“executable”,“param1”,“param2”]
ENTRYPOINT command param1 param2

ENTRYPOINT [“java”,"-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
为了缩短 Tomcat 的启动时间,添加 java.security.egd的系统属性指向 /dev/urandom作为 ENTRYPOINT

 https://blog.csdn.net/Sirius_hly/article/details/83685256 
 
 
 

cat docker-compose.yml
version: '2'
services:
mysql:
network_mode: "host"
environment:
MYSQL_ROOT_PASSWORD: "*****"
image: "docker.io/mysql:5.6"
restart: always
volumes:
- "./db:/var/lib/mysql"
- "./my.cnf:/etc/my.cnf"
ports:
- "3306:3306"

Dockerfile
  • Docker从基础镜像运行一个容器。
  • 执行一条指令,对容器做出修改。
  • 执行类似docker commit的操作,提交一个新的镜像层。
  • Docker再基于刚提交的镜像层运行一个新容器。
  • 执行Dockerfile中的下一条指令,直到所有指令都执行完毕
From ubuntu:latest
MAINTAINER WZL 
RUN apt-get update && apt-get install -y nginx
RUN echo 'Hi, I am in your container' > /var/www/html/index.nginx-debian.html
EXPOSE 80
 

posted @ 2019-07-26 14:26  小蚊子大人KN  阅读(279)  评论(0编辑  收藏  举报