新聞中心
在軟件開(kāi)發(fā)過(guò)程中,開(kāi)發(fā)環(huán)境的配置是一個(gè)繁瑣且耗時(shí)的過(guò)程,為了解決這個(gè)問(wèn)題,Docker應(yīng)運(yùn)而生,Docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,它可以讓開(kāi)發(fā)者將應(yīng)用程序及其依賴(lài)項(xiàng)打包到一個(gè)輕量級(jí)、可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器或Windows機(jī)器上,也可以實(shí)現(xiàn)虛擬化,容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。

本文將詳細(xì)介紹如何使用Docker在Linux上快速部署開(kāi)發(fā)環(huán)境。
安裝Docker
需要在Linux系統(tǒng)上安裝Docker,以下是在不同Linux發(fā)行版上安裝Docker的方法:
1、Ubuntu/Debian系統(tǒng)
sudo aptget update sudo aptget install dockerce dockercecli containerd.io
2、CentOS/RHEL系統(tǒng)
sudo yum install y yumutils sudo yumconfigmanager addrepo https://download.docker.com/linux/centos/dockerce.repo sudo yum install dockerce dockercecli containerd.io
3、Fedora系統(tǒng)
sudo dnf install dnfpluginscore sudo dnf configmanager addrepo https://download.docker.com/linux/fedora/dockerce.repo sudo dnf install dockerce dockercecli containerd.io
創(chuàng)建Dockerfile
Dockerfile是一個(gè)文本文件,其中包含了一系列用戶(hù)可以調(diào)用docker命令自動(dòng)構(gòu)建鏡像的指令,以下是一個(gè)簡(jiǎn)單的Dockerfile示例:
使用官方的Python基礎(chǔ)鏡像 FROM python:3.8slim 設(shè)置工作目錄 WORKDIR /app 將當(dāng)前目錄下的所有文件復(fù)制到工作目錄 COPY . /app 安裝依賴(lài) RUN pip install trustedhost pypi.python.org r requirements.txt 暴露端口 EXPOSE 8080 運(yùn)行命令 CMD ["python", "app.py"]
構(gòu)建Docker鏡像
在Dockerfile所在目錄下,運(yùn)行以下命令構(gòu)建Docker鏡像:
docker build t mypythonapp .
運(yùn)行Docker容器
構(gòu)建完成后,運(yùn)行以下命令啟動(dòng)一個(gè)新的Docker容器:
docker run p 8080:8080 mypythonapp
其他常用Docker命令
1、查看所有容器:docker ps a
2、停止容器:docker stop <容器ID>
3、刪除容器:docker rm <容器ID>
4、刪除鏡像:docker rmi <鏡像ID>
5、查看鏡像:docker images
6、推送鏡像:docker push <鏡像名>(需要先登錄Docker Hub)
7、拉取鏡像:docker pull <鏡像名>
8、查看日志:docker logs <容器ID>
9、進(jìn)入容器:docker exec it <容器ID> /bin/bash(需要先安裝bash)
10、重啟容器:docker restart <容器ID>
11、查看容器資源使用情況:docker stats <容器ID>
12、更新容器配置:docker update <容器ID>(需要先停止容器)
13、設(shè)置容器時(shí)區(qū):docker run e TZ=Asia/Shanghai <鏡像名>(需要先安裝tzdata)
14、設(shè)置容器內(nèi)存限制:docker run memory=512m <鏡像名>(單位可以是b、k、m、g)
15、設(shè)置容器CPU限制:docker run cpus=1 <鏡像名>(單位可以是整數(shù))
16、設(shè)置容器網(wǎng)絡(luò)模式:docker run net=bridge <鏡像名>(可選值有bridge、host、none)
17、設(shè)置容器存儲(chǔ)卷:docker run v /host/dir:/container/dir <鏡像名>(可選值有bind、volume)
18、設(shè)置容器環(huán)境變量:docker run e VARIABLE_NAME=value <鏡像名>(可選值有env、arg)
19、設(shè)置容器端口映射:docker run p host_port:container_port <鏡像名>(可選值有publish、PublishAllPorts)
20、設(shè)置容器數(shù)據(jù)卷映射:docker run v /host/dir:/container/dir:ro <鏡像名>(可選值有ro、rw、Z)
21、設(shè)置容器服務(wù)端口映射:docker run p host_port:container_port:target_port <鏡像名>(可選值有target)22. 設(shè)置容器DNS服務(wù)器:docker run dns=8.8.8.8 <鏡像名>(可選值有dns)23. 設(shè)置容器HTTP代理:docker run httpproxy=http://proxy:port <鏡像名>(可選值有http_proxy、https_proxy)24. 設(shè)置容器NO_PROXY:docker run noproxy=(可選值有no_proxy)25. 設(shè)置容器用戶(hù)和組:docker run u user:group <鏡像名>(可選值有user、uid、gid)26. 設(shè)置容器進(jìn)程優(yōu)先級(jí):docker run pidslimit=1024 <鏡像名>(可選值有pidslimit)27. 設(shè)置容器資源限制優(yōu)先級(jí):docker run cpusetcpus=0,1 <鏡像名>(可選值有cpusetcpus)28. 設(shè)置容器OOM控制策略:docker run oomkilldisable <鏡像名>(可選值有oomkilldisable)29. 設(shè)置容器Ulimit:docker run ulimit nofile=65535:65535 <鏡像名>(可選值有ulimit)30. 設(shè)置容器Cgroup驅(qū)動(dòng):docker run cgroupdriver=systemd <鏡像名>(可選值有cgroupdriver)31. 設(shè)置容器日志驅(qū)動(dòng):docker run logdriver=jsonfile <鏡像名>(可選值有l(wèi)ogdriver)32. 設(shè)置容器存儲(chǔ)驅(qū)動(dòng):docker run storagedriver=overlay2 <鏡像名>(可選值有storagedriver)33. 設(shè)置容器網(wǎng)絡(luò)驅(qū)動(dòng):docker run network=bridge <鏡像名>(可選值有network)34. 設(shè)置容器安全策略:docker run securityopt apparmor=unconfined <鏡像名>(可選值有securityopt)35. 設(shè)置容器SELinux策略:docker run selinuxenabled=true <鏡像名>(可選值有selinuxenabled)36. 設(shè)置容器Sysctl參數(shù):docker run sysctl net.ipv4.ip_forward=1 <鏡像名>(可選值有sysctl)37. 設(shè)置容器Capabilities:docker run capadd=NET_ADMIN <鏡像名>(可選值有capadd、capdrop、capinh
本文題目:linux部署docker
網(wǎng)站鏈接:http://www.dlmjj.cn/article/djdsgoj.html


咨詢(xún)
建站咨詢(xún)
