阿里雲: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