阿里云:java
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
mysql
https://download.docker.com/linux/centos/docker-ce.repo
linux
****curl url #能够看一下网络通不通nginx
****虚拟机的时候,设置两个网卡:一个host-only,一个natspring
1、docker基本操做sql
一、安装 docker
#能够查看docker有没有镜像
$ docker search XXX
$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repohttps://download.docker.com/linux/centos/docker-ce.repo
# 关闭防火墙和selinux
$ systemctl stop firewalld
$ setenforce 0
运行 (root帐号执行启动)
json
$ sudo systemctl start docker
二、安装镜像vim
# docker images [root@bogon docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e38bc07ac18e 5 weeks ago 1.85kB centos latest e934aafc2206 5 weeks ago 199MB [root@bogon docker]# docker run -ti e934 进入镜像,退出 [root@cf085ef769b3 /]# exit
三、一些常见命令(这部分有粘贴,若是侵权,联系删除)centos
一、docker -h 帮助 2、获取镜像 sudo docker pull NAME[:TAG] sudo docker pull centos:latest 3、启动Container盒子 sudo docker run [OPTIONS] IMAGE [COMMAND] [ARG...] sudp docker run -t -i contos /bin/bash 4、查看镜像列表,列出本地的全部images sudo docker images [OPTIONS] [NAME] sudo docker images centos 5、查看容器列表,可看到咱们建立过的全部container sudo docker ps [OPTIONS] sudo docker ps -a 6、删除镜像,从本地删除一个已经下载的镜像 sudo docker rmi IMAGE [IMAGE...] sudo docker rmi centos:latest 7、移除一个或多个容器实例 sudo docker rm [OPTIONS] CONTAINER [CONTAINER...] 移除全部微运行的容器 sudo docker rm sudo docker ps -aq 8、中止一个正在运行的容器 sudo docker kill [OPTIONS] CONTAINER [CONTAINNER...] sudo docker kill 026e 9、重启一个正在运行的容器 sudo docker restart [OPTIONS] contains[CONTAINER] sudo docker restart 026e 10、中止一个已经中止的容器 sudo docker start [OPTIONS] CONTAINER [CONTAINER..] sudo docker start 026e
四、外界访问,用 docker run -ti 访问,外界没法访问,要加映射
安装jdk,搜索安装 yum search java|grep jdk yum install java-1.8.0-openjdk
查看jdk版本
java -version
五、安装一个jdk的镜像
#这个应该不太对,这个是整个java的
#安装一个jdk的镜像
sudo docker pull java
在相应的目录项建立文件
(建立目录 mkdir dockerInfo
建立文件 touch Dockerfile)
[root@bogon dockerInfo]# ls
Dockerfile javastudy.jar run.sh
六、编辑文件
#Dockerfile文件内容 FROM java ADD javastudy.jar app.jar RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-jar","/app.jar"]
#说明
dockerfile的基础命令FROM:
指为当前的环境引入一个基础镜像(nginx环境之上的linux内核镜像)
RUN:运行指令(apt install vim类似的指令)
CMD:执行命令(和run很类似,可是一个dockerfile只能有一个cmd指令,若有 多个最后一个生效)
LABEL:设置标签(相似为变量赋值)
EXPOSE:暴露端口号(解除断口的防火墙)
ENV:设置环境变量
COPY:复制到指定地方
ADD: copy指令的高级版(具备解压功能)
ENTRYPOINT:切入点(如run功能类似,可是能够覆盖CMD的内容)
VOLUME:挂载的做用
USER:指定容器的用户
WORKDIR:若是目录存在 cd到指定目录,不存在则建立并cd到指定目录
ARG:表示变量
七、建立新的镜像
#其中 -t 标记来添加 tag,指定新的镜像的用户信息。“.” 是 Dockerfile 所在的路径(当前目录),也能够替换为一个具体的 Dockerfile 的路径。 #注意最后的那个 . # -t 说明的镜像名称,没有-f,是默认当前目录下的Dockerfile #有-f,是指定目录,还有,每次需改Dockerfile,须要修改镜像 sudo docker build -t springboottest . #修改镜像(大概是这样,没试过) docker commit -m "Added json gem" -a "Docker Newbee" 0b2616b0e5a8 ouruser/sinatra:v2 #删除镜像 docker images #记住镜像的Id docker ps -a #查看镜像下的容器 docker rm 容器id
#删除全部的容器
docker rm $(docker ps -a -q) #在删除镜像 docker rmi 镜像id
八、运行
#内部运行 不推荐, docker run -ti springboottest #设置端口号 docker run -d -p 8080:8080 springboottest 就能够访问了 http://Ip:8080
2、Nginx的安装使用
一、镜像
#查看docker有没有镜像
docker search nginx
#查看到最新的
docker pull nginx
#能够查到 nginx的镜像
docker images
二、运行,分配端口80
#运行,分配端口80 docker run -d -p 80:80 nginx #能够访问IP,80是默认端口
三、使用配置
#查看容器Id docker ps #进入容器 docker inspect 容器Id号 #还有另一种方法 $ sudo docker ps $ sudo docker exec -ti 容器Id /bin/bash
#vi 和vim没有找到命令,安装一下命令
$ apt-get update
$apt-get install vim
#查看nginx配置
$ cd /etc/nginx/
$ vi nginx.conf
#nginx.conf说明
########### 每一个指令必须有分号结束。#################
#user administrator administrators; #配置用户或者组,默认为nobody nobody。
#worker_processes 2; #容许生成的进程数,默认为1
#pid /nginx/pid/nginx.pid; #指定nginx进程运行文件存放地址
error_log log/error.log debug; #制定日志路径,级别。这个设置能够放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
events {
accept_mutex on; #设置网路链接序列化,防止惊群现象发生,默认为on
multi_accept on; #设置一个进程是否同时接受多个网络链接,默认为off
#use epoll; #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
worker_connections 1024; #最大链接数,默认为512
}
http {
include mime.types; #文件扩展名与文件类型映射表
default_type application/octet-stream; #默认文件类型,默认为text/plain
#access_log off; #取消服务日志
log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式
access_log log/access.log myFormat; #combined为日志格式的默认值
sendfile on; #容许sendfile方式传输文件,默认为off,能够在http块,server块,location块。
sendfile_max_chunk 100k; #每一个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
keepalive_timeout 65; #链接超时时间,默认为75s,能够在http,server,location块。
upstream mysvr {
server 127.0.0.1:7878;
server 192.168.10.121:3333 backup; #热备
}
error_page 404 https://www.baidu.com; #错误页
server {
keepalive_requests 120; #单链接请求上限次数。
listen 4545; #监听端口
server_name 127.0.0.1; #监听地址
location ~*^.+$ { #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
#root path; #根目录
#index vv.txt; #设置默认页
proxy_pass http://mysvr; #请求转向mysvr 定义的服务器列表
deny 127.0.0.1; #拒绝的ip
allow 172.18.5.54; #容许的ip
}
}
}
3、mysql
#镜像
$ docker pull mysql#运行mysql$ docker run -d -P mysql