[Docker] ‘s Basic Usage

Get

bash 复制代码
# Mac
brew install docker-desktop

Image

Docker Hub

sh 复制代码
# pull(specific platform)
docker pull [--platform=xxx][image]

# query
docker images

# remove image
docker rmi [ID/NAME]

Container

sh 复制代码
# run
docker run 
[-d, detached mode] 
[-p xx:xx, port mapping] 
[-v /xx/xx:/xx/xx, volume mapping] 
[-e, environment]
[--name xx, specify the name]
[-it --rm, enter container and remove it automatically after use]
[--restart always/unless-stopped, always restart & restart contrainer that were unexpected stopped but do not restart contatiner that were manually stopped]
[--network {host} xx]
[ID/NAME]

# process status (only running)
docker ps [-a, all containers]

# remove container
docker rm [-f, --force] [ID/NAME]

# volume
docker volume list
docker volume rm [NAME]
docker volume prune -a	# remove all local volumes not used by containers

# option
docker start [ID/NAME]
docker stop [ID/NAME]

# inspect, view container information. 
docker inspect [ID/NAME]

# logs
docker logs [-f, --follow ] [ID/NAME]

# enter the interior of the container
docker exec -it [ID/NAME] /bin/sh

# run command on the interior of the container 
docker exec [ID/NAME] [CMD]

P.S.

The usage of docker run -v

  1. Bind Mount, synchronous update
    -v /host:/container[:ro, read-only]
  2. Named volume, local data persistent
    -v myvolume:/container

Docker file

sh 复制代码
# Docker file
FROM [basic image]

WORKDIR [change a dir as the woking dir]

COPY [relative local dir] [relative image dir]

RUN [commands to install dependencies]

EXPOSE [port]

CMD [ ["xx", "xx"], the default command executed when the container start]
sh 复制代码
# Build 
docker build [-t {username/}xx{:version}, named image] [build dir]

# Push image to Docker Hub
docker login
docker push [username/imageName]

Network

sh 复制代码
# Create Subnet
docker network create [NAME]

# remove 
docker network rm

# list
docker network list

Docker Compose

sh 复制代码
# docker-compose.yaml
services:
	serviceA:
		image: xx
		environment:
			xx: xx
		volumes:
			- /datadir:/data/db
	
	serviceB:
		iamge: xx
		ports:
			- 8081: 8081

# Start
docker compose [-f /dir/file, file] up [-d, detached mode]  
相关推荐
ZzzZZzzzZZZzzzz…1 小时前
Docker + K8s集群搭建实战:1 Master+2 Node,含Harbor私有仓库与软路由
docker·云原生·容器·kubernetes·容器编排·集群部署·cri-dockerd
xier_ran2 小时前
【infra之路】模块三:Kubernetes (下) — 阶段一毕业项目:在集群里跑 PyTorch 训练
pytorch·容器·kubernetes
Waay2 小时前
K8s新手实操|emptyDir卷超详细实战(附完整命令+核心理解)
云原生·容器·kubernetes
liux35282 小时前
K8s 核心接口:CNI、CSI、CRI、LB 一篇讲透
云原生·容器·kubernetes
香气袭人知骤暖3 小时前
人大金仓(KingbaseES)Docker 容器自动备份方案
运维·docker·容器
大熊程序猿3 小时前
MarkItDown Docker安装
运维·docker·容器
Hello_worlds3 小时前
Kafka InconsistentClusterIdException 导致容器无限重启,磁盘打满排查与修复
docker·kafka·磁盘·排障
wgc2k4 小时前
Nest.js基础-6:关于Claude Code
人工智能·docker·node.js
IT策士4 小时前
第25篇 k8s之Deployment 基础:声明式管理与副本控制
云原生·容器·kubernetes
文青小兵4 小时前
Linux云计算——docker compose haibor elfk (四)
linux·服务器·docker·云计算