日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

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

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

以創建一個Nginx容器為例。

方式一:docker run命令方式

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,輸入以下內容。

FROM nginx
COPY html /usr/share/nginx/html

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

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

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

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

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

docker build -t my-nginx-image .

注意最后面有一個點。

3.運行容器

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文件,輸入以下內容

version: "3"
services:
  nginx:
    image: nginx
    container_name: some-nginx
    ports:
      - "1080:80"
    volumes:
      - /some/content:/usr/share/nginx/html

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

2.執行啟動命令

docker-compose up -d

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

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

訪問測試

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

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

version: "3"
services:
  MySQL:
    image: mysql:5.7.26
    ports:
      - "13306:3306"  
    restart: "always"
    container_name: mysql
    command:
      --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'
      --sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    privileged: true    
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - TZ="Asia/Shanghai"
    volumes:  
      - /opt/docker/mysql/conf:/etc/mysql/mysql.conf.d
      - /etc/localtime:/etc/localtime
      - /opt/docker/mysql/logs:/var/log/mysql
      - /opt/docker/mysql/data:/var/lib/mysql
  my-server:
    image: JAVA:8
    restart: "always"
    container_name: my-server
    environment:
      - TZ="Asia/Shanghai"
    volumes:  
      - /opt/my-serve/my-serve-0.0.1-SNAPSHOT.jar:/data/my-serve-0.0.1-SNAPSHOT.jar
      - /etc/localtime:/etc/localtime
      - /opt/var/logs:/var/logs
    entrypoint: java -jar /data/my-serve-0.0.1-SNAPSHOT.jar --server.port=18081
  nginx:
    image: nginx
    container_name: nginx
    volumes:
      - /opt/my-serve:/home/nginx
      - /opt/docker/nginx/conf.d/:/etc/nginx/conf.d/
      - /opt/docker/nginx/log/:/var/log/nginx/
      - /opt/docker/nginx/html/:/usr/share/nginx/html/
    restart: "always"
    network_mode: "host"

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

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

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

分享到:
標簽:Docker
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定