[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]  
相关推荐
guo_wen_qiang7 小时前
docker的备份与迁移
运维·docker·容器
小小龙学IT10 小时前
Kubernetes 深度实践:架构、API 与避坑指南
容器·架构·kubernetes
cpolar技术支持12 小时前
外网测试机的异常传不回内网?自托管 Sentry,用 cpolar 打通错误上报链路
python·nginx·docker·cpolar·sentry
MrSYJ14 小时前
别人再问你路由表是啥,这篇文章摔它脸上
docker·云原生·kubernetes
羑悻15 小时前
穿越Docker内核迷雾:揭秘镜像分层存储的叠加态与卷挂载的多维空间穿梭技术
后端·docker·容器
for_ever_love__16 小时前
容器类型全家桶——list、tuple、dict、set 与推导式
python·容器·数据类型·大模型开发
筑梦之路16 小时前
docker-compose方式部署kafka集群(Kraft方式)——筑梦之路
docker·容器·kafka
JavaPub-rodert17 小时前
Docker 镜像地址总失效?基于 DockerHub 项目用 GitHub Actions 做一个自动检测状态页
docker·容器·github
天衍四九-17 小时前
Docker 进阶实战系列(一):容器镜像安全,最小镜像与非 Root 运行
安全·docker·eureka
天衍四九-17 小时前
Docker进阶实战系列(二):容器日志深度治理|驱动配置、自动切割、磁盘爆满彻底解决
docker·容器·eureka