在软件开发过程中,开发环境的配置是一个繁琐且耗时的过程,为了解决这个问题,Docker应运而生,Docker是一个开源的应用容器引擎,它可以让开发者将应用程序及其依赖项打包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
本文将详细介绍如何使用Docker在Linux上快速部署开发环境。
安装Docker
需要在Linux系统上安装Docker,以下是在不同Linux发行版上安装Docker的方法:
1、Ubuntu/Debian系统
sudo aptget update sudo aptget install dockerce dockercecli containerd.io
2、CentOS/RHEL系统
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系统
sudo dnf install dnfpluginscore sudo dnf configmanager addrepo https://download.docker.com/linux/fedora/dockerce.repo sudo dnf install dockerce dockercecli containerd.io
创建Dockerfile
Dockerfile是一个文本文件,其中包含了一系列用户可以调用docker命令自动构建镜像的指令,以下是一个简单的Dockerfile示例:
使用官方的Python基础镜像 FROM python:3.8slim 设置工作目录 WORKDIR /app 将当前目录下的所有文件复制到工作目录 COPY . /app 安装依赖 RUN pip install trustedhost pypi.python.org r requirements.txt 暴露端口 EXPOSE 8080 运行命令 CMD ["python", "app.py"]
构建Docker镜像
在Dockerfile所在目录下,运行以下命令构建Docker镜像:
docker build t mypythonapp .
运行Docker容器
构建完成后,运行以下命令启动一个新的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、进入容器:docker exec it <容器ID> /bin/bash
(需要先安装bash)
10、重启容器:docker restart <容器ID>
11、查看容器资源使用情况:docker stats <容器ID>
12、更新容器配置:docker update <容器ID>
(需要先停止容器)
13、设置容器时区:docker run e TZ=Asia/Shanghai <镜像名>
(需要先安装tzdata)
14、设置容器内存限制:docker run memory=512m <镜像名>
(单位可以是b、k、m、g)
15、设置容器CPU限制:docker run cpus=1 <镜像名>
(单位可以是整数)
16、设置容器网络模式:docker run net=bridge <镜像名>
(可选值有bridge、host、none)
17、设置容器存储卷:docker run v /host/dir:/container/dir <镜像名>
(可选值有bind、volume)
18、设置容器环境变量:docker run e VARIABLE_NAME=value <镜像名>
(可选值有env、arg)
19、设置容器端口映射:docker run p host_port:container_port <镜像名>
(可选值有publish、PublishAllPorts)
20、设置容器数据卷映射:docker run v /host/dir:/container/dir:ro <镜像名>
(可选值有ro、rw、Z)
21、设置容器服务端口映射:docker run p host_port:container_port:target_port <镜像名>
(可选值有target)22. 设置容器DNS服务器:docker run dns=8.8.8.8 <镜像名>
(可选值有dns)23. 设置容器HTTP代理:docker run httpproxy=http://proxy:port <镜像名>
(可选值有http_proxy、https_proxy)24. 设置容器NO_PROXY:docker run noproxy=<iface:ip_address,hostname,domain <镜像名>
(可选值有no_proxy)25. 设置容器用户和组:docker run u user:group <镜像名>
(可选值有user、uid、gid)26. 设置容器进程优先级:docker run pidslimit=1024 <镜像名>
(可选值有pidslimit)27. 设置容器资源限制优先级:docker run cpusetcpus=0,1 <镜像名>
(可选值有cpusetcpus)28. 设置容器OOM控制策略:docker run oomkilldisable <镜像名>
(可选值有oomkilldisable)29. 设置容器Ulimit:docker run ulimit nofile=65535:65535 <镜像名>
(可选值有ulimit)30. 设置容器Cgroup驱动:docker run cgroupdriver=systemd <镜像名>
(可选值有cgroupdriver)31. 设置容器日志驱动:docker run logdriver=jsonfile <镜像名>
(可选值有logdriver)32. 设置容器存储驱动:docker run storagedriver=overlay2 <镜像名>
(可选值有storagedriver)33. 设置容器网络驱动:docker run network=bridge <镜像名>
(可选值有network)34. 设置容器安全策略:docker run securityopt apparmor=unconfined <镜像名>
(可选值有securityopt)35. 设置容器SELinux策略:docker run selinuxenabled=true <镜像名>
(可选值有selinuxenabled)36. 设置容器Sysctl参数:docker run sysctl net.ipv4.ip_forward=1 <镜像名>
(可选值有sysctl)37. 设置容器Capabilities:docker run capadd=NET_ADMIN <镜像名>
(可选值有capadd、capdrop、capinh
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。