成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Docker容器的三種創建運行方式,一個比一個好用

開發 前端
現在的項目部署運維中,使用Docker容器越來越多,Docker給我們提供創建容器的方式也有好幾種,主要是docker run命令、Dockerfile文件、docker-compose三種方式,一個比一個方便。

 現在的項目部署運維中,使用Docker容器越來越多,Docker給我們提供創建容器的方式也有好幾種,主要是docker run命令、Dockerfile文件、docker-compose三種方式,一個比一個方便。

[[353237]]

我們來看下有幾種方式的具體用法吧。本文需要先安裝docker和docker-compose,不懂安裝的可以看我的另外兩篇文章centos7安裝docker docker-compose安裝 ,非常方便就可以安裝好,

以創建一個Nginx容器為例。

方式一:docker run命令方式

 

  1. docker run --name some-nginx -p 1080:80 -v /some/content:/usr/share/nginx/html -d nginx 

參數說明:

--name:定義容器名。

-p:宿主機與容器的端口掛載,格式:宿主機端口:容器內部端口

-v:宿主機目錄與容器內目錄映射,格式:宿主機目錄:容器內部目錄

-d:后臺執行

執行以上命令就可以啦,這里把容器名取名為some-nginx,把容器的80端口映射到宿主機的1080端口,容器內的/usr/share/nginx/html目錄映射到宿主機的/some/content目錄,使用的是nginx最新的鏡像,鏡像部分也可以寫成 “nginx:版本”比如“nginx:1.15.1”。

在/some/content創建一個index.html,隨便輸入個內容。

訪問下 ip+1080可以看到請求到nginx了。

 

Docker容器的三種創建運行方式,一個比一個好用

 

訪問nginx測試

docker run方式在運行簡單的容器方面還是比較方便的。

方式二:Dockerfile配置文件構建鏡像方式

1.創建一個文件,命名為Dockerfile,輸入以下內容。

 

  1. FROM nginx 
  2. COPY html /usr/share/nginx/html 

 

FROM nginx 代表以nginx鏡像為基礎構建我們的鏡像。

注意需要先在Dockerfile同目錄創建html目錄,不然會報錯。

Dockerfile文件內可以自定義鏡像內容,有很多指令可以用,比如可以在配置容器創建后運行shell腳本等,可以自行查閱,本文僅做一個簡單的用法示例入門。

注意:Dockerfile 的指令每執行一次都會在 docker 上新建一層,所以盡量不要寫太多層。

2.在Dockerfile同目錄下運行命令創建鏡像

 

  1. docker build -t my-nginx-image . 

注意最后面有一個點。

3.運行容器

 

  1. docker run --name some-nginx -p 1080:80 -d my-nginx-image 

在html目錄里新建一個index.html文件隨便輸入個內容,訪問下 ip+1080可以看到請求到nginx了。

 

Docker容器的三種創建運行方式,一個比一個好用

 

訪問nginx測試

Dockerfile一般用于自定義鏡像,因為是個文件,也比命令的方式更易于保存與團隊間共享。

方式三:docker -compose方式

在需要管理多個容器時用以上兩種方式都不太適合,不僅要管理每個容器的配置信息,還要處理容器間的關系,這時候就需要docker-compose來做容器編排了。

1.創建一個docker-compose.yml文件,輸入以下內容

  1. version: "3" 
  2. services: 
  3.   nginx: 
  4.     image: nginx 
  5.     container_name: some-nginx 
  6.     ports: 
  7.       - "1080:80" 
  8.     volumes: 
  9.       - /some/content:/usr/share/nginx/html 

在/some/content創建一個index.html,隨便輸入個內容,等會訪問測試。

2.執行啟動命令

 

  1. docker-compose up -d 

訪問下 ip+1080可以看到請求到nginx了。

 

Docker容器的三種創建運行方式,一個比一個好用

 

訪問測試

docker-compose.yml文件里可以寫多個容器配置信息,有提供各種配置項用于容器編排。

比如我有一個springboot項目,需要打包成jar包然后創建容器運行,需要連接一個數據庫容器,最后需要一個nginx容器做請求代理。那么docker-compose.yml文件可以這樣寫。

 

  1. version: "3" 
  2. services: 
  3.   mysql: 
  4.     image: mysql:5.7.26 
  5.     ports: 
  6.       - "13306:3306"   
  7.     restart: "always" 
  8.     container_name: mysql 
  9.     command: 
  10.       --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max_connections=1000 --default-storage-engine=INNODB --lower_case_table_names=1 --default-time_zone='+8:00' 
  11.       --sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 
  12.     privileged: true     
  13.     environment: 
  14.       - MYSQL_ROOT_PASSWORD=123456 
  15.       - TZ="Asia/Shanghai" 
  16.     volumes:   
  17.       - /opt/docker/mysql/conf:/etc/mysql/mysql.conf.d 
  18.       - /etc/localtime:/etc/localtime 
  19.       - /opt/docker/mysql/logs:/var/log/mysql 
  20.       - /opt/docker/mysql/data:/var/lib/mysql 
  21.   my-server: 
  22.     image: java:8 
  23.     restart: "always" 
  24.     container_name: my-server 
  25.     environment: 
  26.       - TZ="Asia/Shanghai" 
  27.     volumes:   
  28.       - /opt/my-serve/my-serve-0.0.1-SNAPSHOT.jar:/data/my-serve-0.0.1-SNAPSHOT.jar 
  29.       - /etc/localtime:/etc/localtime 
  30.       - /opt/var/logs:/var/logs 
  31.     entrypoint: java -jar /data/my-serve-0.0.1-SNAPSHOT.jar --server.port=18081 
  32.   nginx: 
  33.     image: nginx 
  34.     container_name: nginx 
  35.     volumes: 
  36.       - /opt/my-serve:/home/nginx 
  37.       - /opt/docker/nginx/conf.d/:/etc/nginx/conf.d/ 
  38.       - /opt/docker/nginx/log/:/var/log/nginx/ 
  39.       - /opt/docker/nginx/html/:/usr/share/nginx/html/ 
  40.     restart: "always" 
  41.     network_mode: "host" 

 

只要執行 docker-compose up -d 命令就可以把配置文件內的所有容器啟動起來,是不是很方便呢。

在實際項目中,一般Dockerfile和docker-compose用得比較多,不過現在Kubernetes越來越火,以后可能Kubernetes也會占領市場也不一定。

好了本次內容就到這了。希望對你有所幫助。

責任編輯:華軒 來源: 今日頭條
相關推薦

2019-08-26 19:03:58

2023-01-12 08:47:26

二項式楊輝斐波那契

2021-06-23 16:40:58

JavaTomcatWeb

2018-12-17 09:10:52

機器學習TensorFlow容器

2024-08-20 21:27:04

docker部署容器

2010-02-26 09:36:51

RIA

2022-07-21 09:50:20

Python日期庫pendulum

2017-08-23 08:09:11

UDPDocker容器

2014-05-26 09:13:46

DockerPython

2020-11-09 06:38:00

ninja構建方式構建系統

2019-12-09 15:00:48

TomcatServlet容器

2021-09-02 05:37:22

Containerd Kubernetes 容器

2009-08-19 04:14:00

線性鏈表

2016-09-26 17:26:20

2024-07-19 10:31:15

2016-03-08 09:52:22

xcode插件開發

2013-01-14 15:41:27

Android模擬器教程配置

2024-02-26 18:11:08

Docker容器鏡像

2021-12-30 09:40:33

CentOS家庭實驗室Linux

2010-11-11 09:13:58

超高密度服務器HP戴爾
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91观看| 中文字幕电影在线观看 | 天天干天天插天天 | 在线黄av| 欧美一级免费观看 | 欧美自拍一区 | 国产高清精品网站 | 青青久草| 亚洲精品一区二区在线观看 | 成人在线观看免费 | 插插宗合网| 日韩在线三级 | 国产精品久久久久久久久久免费看 | 国产精品一区二区在线 | 国产综合久久 | 精品欧美乱码久久久久久1区2区 | 国产一级在线 | 91国内产香蕉 | 最新国产精品精品视频 | 精品美女视频在免费观看 | 99re在线视频 | 久久婷婷香蕉热狠狠综合 | 欧美视频网 | 91久久精品一区二区三区 | 亚洲国产精品一区二区第一页 | 国内精品久久影院 | 亚洲一区二区中文字幕在线观看 | 一区二区三区四区不卡视频 | 久久国产精品久久久久久久久久 | 精品中文字幕在线观看 | 国产精品久久久精品 | 麻豆av在线免费观看 | 欧美一区免费 | 爱草在线 | 日本一区二区高清不卡 | 日韩精品视频在线观看一区二区三区 | 午夜精品久久久久久 | 91夜色在线观看 | a级片在线观看 | 无码国模国产在线观看 | 亚洲一区二区三区四区五区午夜 |