docker run -d --name redis -p 6379:6379 -v /data/redis/data:/data -v /data/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf redis --requirepass "peter@2019"
docker run -d --name redismy -p 6379:6379 -v /data/redis/data:/data -v /data/redis/conf/redis.conf:/etc/redis/redis.conf redis:5.0.7 redis-server /etc/redis/redis.conf --appendonly yes
docker run --name nginx -d -p 80:80 -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/conf.d:/etc/nginx/conf.d -v /data/nginx/logs:/var/log/nginx nginx
docker run -it -d -p 3306:3306 --name docker_mysql_9.0.19 -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=peter@2019 **【img——id】
create user 'dabby'@'%' identified by "dabby@2019";
GRANT ALL PRIVILEGES ON winter.* TO 'dabby'@'%';
FLUSH PRIVILEGES;
# 以 centos最新镜像 为基础镜像
FROM centos:latest
#维护者信息
MAINTAINER peter
# 安装JDK
COPY jdk-11.0.6 /var/local/jdk11
# 安装maven
COPY apache-maven-3.6.3 /var/local/apache-maven
# 设置环境变量
ENV JAVA_HOME /var/local/jdk11
ENV MAVEN_HOME /var/local/apache-maven
ENV PATH $PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
#ENV JRE_HOME $JAVA_HOME
#ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin ⇒ $PATH
FROM peterthechangge/jdk-11.0.6
VOLUME /tmp
ADD demo_docker-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
docker build -t exam01 .
docker run -it -d --name exam-8080 -p 8080:8080 exam01
#https
FROM peterthechangge/jdk-11.0.6
VOLUME /tmp
ADD boot_demo-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 80
EXPOSE 443
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
docker run -it -d --name exam-https -p 80:80 -p 443:443 https_docker_boot
上传参考 https://www.jianshu.com/p/7684c742c89b
docker tag jdk-11.0.6:latest peterthechangge/jdk-11.0.6:latest
docker push peterthechangge/jdk-11.0.6:latest
进入容器:docker attach 容器ID
docker exec -it 容器ID /bin/bash
docker run -it images /bin/bash
runoob@runoob:~$ docker run -t -i ubuntu:14.04 /bin/bash
root@39e968165990:/#
首先说明下RUN、CMD、ENTRYPOINT 等命令都可以用来执行命令,但是各有不同的特点
RUN 在Build Image的时候执行。
CMD ENTRYPOINT 在运行Image时执行。
CMD 可以和ENTRYPOINT 搭配使用,也可以单个命令使用。当CMD 和ENTRYPOINT都出现在一个DockerFile中时,CMD中设置的信息(EXEC格式的)都以参数的形式提供给ENTRYPOINT命令。EntryPoint 命令没有设置时,默认是/bin/bash
ENTRYPOINT的命令不可以简单被覆盖,但可以使用run 中的–entrypoint被覆盖,如果docker run时提供参数,这些参数附加在ENTRYPOINT 里面设置的内容后面。
CMD 单独使用时,如果run 命令后面中提供参数,那么参数会完全覆盖CMD