[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]  
相关推荐
淼澄研学9 小时前
Proliferate开源框架技术解析与Docker部署实操
docker·容器·开源
浪兎兎10 小时前
Docker 容器技术笔记
笔记·docker·容器
Zhu75812 小时前
在Docker环境离线部署最新版Harbor
运维·docker·容器
天蓝不会忘记0213 小时前
pod的控制器
容器·kubernetes
DevOps老兵13 小时前
Kubernetes生产运维02:只会get pods还不够,kubectl排障工具箱怎么组合使用
运维·容器·kubernetes·kubectl·devops·故障排查·sre
陈聪.14 小时前
Kubernetes 中 Pod 的全面知识
云原生·容器·kubernetes
SakitamaX14 小时前
k8s中的控制器的使用
云原生·容器·kubernetes
IT 小阿姨(数据库)14 小时前
K8s v1.24.17 完整搭建文档(CentOS7 + containerd1.6.33 + Calico)
java·容器·kubernetes
楠楠子呀17 小时前
从零构建高性能 WhatsApp 链接生成器与重定向服务:架构与路由解析
redis·python·容器·架构·flink·散列表·flume
qq_3494479517 小时前
K8S中的Calico如何获取对应版本
云原生·容器·kubernetes