1 添加并运行
docker run -d image-name
2 获取上次运行的container id
last_id=$(docker ps -l -q)
3 列出全部
docker ps -a
4 停止
docker stop container-id
5 启动
docker start container-id
6 彻底删除
docker rm -f container-id
7 获取容器的ip地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' container-name
8 build(假设本目录下有DockerFile)
docker build -t image-name .
9 登录docker hub
docker login # 然后要输入已经注册的用户名和密码
10 tag 一个镜像(到docker-hub)
docker tag local-image-name docker-hub-user/docker-hub-repostory:tag-name
11 push镜像(到docker-hub)
docker push docker-hub-user/docker-hub-repoistory:tag-name
12 docker push 通过socks5代理
HTTP_PROXY=socks5://localhost:proxy_port docker ...
13 交互模式运行docker容器
docker run -it --name hehe alpine
运行好后会进入容器的命令行,如果Ctrl+Q回到主机,Ctrl+D或者exit推出到主机。
14 后台模式运行docker容器
docker run -d --name hehe alpine
注意命令结束后(默认是/bin/sh),容器会自动停止
15 自动保活的后台容器
docker run -d alpine tail -f /dev/null
之后想再执行命令行的话可以
docker exec container-id cmd
16 切换为国内镜像
vim /etc/docker/daemon.json { "registry-mirrors": [ "https://registry.docker-cn.com"] }
然后要执行
sudo systemctl daemon-reload sudo systemctl restart docker
其他镜像
- https://docker.mirrors.ustc.edu.cn
- http://hub-mirror.c.163.com
- dockerhub.azk8s.cn
17 启动一个docker container的sh
docker exec -i -t <container_name> /bin/sh
18 删除所有的container(包含停止的)
docker rm -f $(docker ps -a -q)
19 删除所有本地没有在使用的镜像
docker images -q |xargs docker rmi
20 更新本地镜像
docker pull xxx/xxx # 然后重启即可
21 查看容器资源占用
docker stats --no-stream CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS e0dc81d9e0b8 0.01% 200.1 MiB / 995.4 MiB 20.11% 304.4 kB / 35.17 kB 103 MB / 532.5 kB 0