docker 简单使用

docker 简单使用

docker基础命令

在Docker Hub上搜索镜像

docker search <镜像名>

拉取镜像

docker pull <镜像名>

查看全部镜像

docker images

查看指定镜像

docker images <镜像名>

查看容器日志

docker logs <容器名或容器ID>

列出容器

复制代码
docker ps

#列出所有正在运行的容器ID
docker ps -q
#ps 参数
-q  静默模式,只显示容器编号。(运行中的容器编号)
-a  显示所有容器(包含未运行2的)


# 重启所有正在运行的容器(将上一步得到的ID替换下面的$CONTAINER_ID)
docker restart $(docker ps -q)

启动、暂停、重启 容器

复制代码
docker start <容器名或id> //启动
docker stop <容器名或id> //暂停
docker restart <容器名或id> //重启

删除镜像 可一次删除多个;多个用空格分割

docker rmi <镜像名或ID>

将docker容器中的文件复制到本地

docker cp <容器名>:docker中的路径 本地路径

//nginx将常用文件复制到本地

复制代码
docker cp nginx-test:/etc/nginx/nginx.conf /work/dockerfile/nginx/

docker cp nginx-test:/etc/nginx/conf.d /work/dockerfile/nginx/conf.d

docker cp nginx-test:/usr/share/nginx/html /work/dockerfile/nginx/html

docker cp nginx-test:/var/log/nginx /work/dockerfile/nginx/logs

取容器或镜像的详细信息

docker 复制代码
# 查看全部信息
docker inspect <容器名或容器ID>

# 查看特定信息(例如日志地址)
docker inspect -f '{{.LogPath}}' <容器名或容器ID>

容器使用

//启动一个名为 nginx-test 的Nginx容器,并且映射了宿主机上的目录到容器内相应的路径,同时将8080端口绑定到容器的80端口

//需要注意Windows和linux本地路径需要调整

--name 为容器指定一个名称;

-p 指定端口映射,格式为:主机(宿主、本地)端口:容器端口

-v 绑定一个卷;本地路径(绝对路径):docker中的路径(绝对路径)

-d 后台运行容器,并返回容器ID

-m 设置容器使用内存最大值;-m 512m

--link 连接到另一个容器; -link <已有容器别名>

//在linux或mac

复制代码
docker run --name nginx-test -p 8080:80 
-v /work/dockerfile/nginx/conf.d:/etc/nginx/conf.d 
-v /work/dockerfile/nginx/html:/usr/share/nginx/html 
-v /work/dockerfile/nginx/logs:/var/log/nginx 
-v /work/dockerfile/nginx/nginx.conf:/etc/nginx/nginx.conf
-d nginx

//在Windows

复制代码
docker run --name php-nginx -p 80:80 
-v C:\work\dockerfile\nginx\conf.d:/etc/nginx/conf.d 
-v C:\work\dockerfile\php\www:/var/www/html 
-v C:\work\dockerfile\nginx\logs:/var/log/nginx 
-v C:\work\dockerfile\nginx\nginx.conf:/etc/nginx/nginx.conf 
--link php7.0 
-d nginx

//php

复制php配置文件到本地

复制代码
docker cp php7.0:/usr/local/etc/php /work/dockerfile/php/config
docker cp php7.0:/var/log /work/dockerfile/php/
docker cp php7.0:/usr/local/lib/php/extensions/no-debug-non-zts-20151012 /work/dockerfile/php/extensions

docker run --name php7.0 -p 9000:9000 
-v C:\work\dockerfile\php\config\conf.d\custom.ini:/usr/local/etc/php/conf.d/custom.ini  
-v C:\work\dockerfile\php\www:/var/www/html 
-v C:\work\dockerfile\php\extensions\no-debug-non-zts-20151012:/usr/local/lib/php/extensions/no-debug-non-zts-20151012  -d php:7.0-fpm

小技巧(注意事项)

在配置 php + nginx 时需要注意两个容器的工作目录最好一致(都为 /var/www/html 或 /var/www)

先配置php容器,配置好后再配置nginx。配置nginx 可以用 --link <容器名> 链接php容器

在启动容器时如果用 --link关联了容器,需要先启动用--link关联的容器

nginx的配置

复制代码
server {
	listen 80;
	listen [::]:80;
	server_name www.abc.com;
	root /var/www/html;
	index index.php index.html index.htm;

	location ~ \.php$ {
		fastcgi_pass   php-fpm7.0:9000;
		fastcgi_index  index.php;
		fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
		fastcgi_buffers 16 16k;
		fastcgi_buffer_size 32k;
		fastcgi_read_timeout 600;
		include        fastcgi_params;
	}
}
相关推荐
java_logo17 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
xbzb18 小时前
容器 IP 每次重建都变?docker network 五种模式与自定义网桥固定地址
网络·docker·容器·ip·network·固定
打工仔折腾 AI1 天前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
xbzb1 天前
自建镜像仓库:registry 一条命令 + harbor 部署、授权、跨库同步与卸载
docker·harbor·镜像·仓库·同步·registry
wz97542 天前
Docker 从 systemd 托管容器、overlay2 存储驱动到 Compose 多容器实战
spring cloud·docker·eureka
新*2 天前
ES 7.17 三节点 Docker 集群接入 IK 自定义词典:一次从丢插件到热更新的完整排障
运维·elasticsearch·docker·中文分词·ik分词
小白的码BUG之路2 天前
Jenkins -- gitee+docker+harbor+k8s 部署项目
docker·gitee·jenkins
AlfredZhao2 天前
Docker Compose 平滑切换环境变量文件,容器配置不残留
docker
duansamve3 天前
Python3+Flask+PostgreSQL18+Vue3项目生产环境用docker如何部署?
python·docker·flask
mengge.cloud3 天前
prometheus+k8s+弹性伸缩,综合项目
云原生·容器·kubernetes·prometheus