Docker常用命令
Docker 不管是在企业生产中,还是个人小项目中,应用都非常的方便且简单快捷,开始学习一些Docker的常见用法:
列出本地的镜像
1 | docker images -a |
搜索mysql的镜像
1 | docker search mysql --limit 10 |
拉取到本地,版本号可选。若不带版本号,默认是latest
1 | docker pull mysql |
列出本地镜像的image_id
1 | docker images -q |
列出docker目前的磁盘占用情况
1 | ➜ ~ docker system df |
删除本地镜像
1 | ➜ ~ docker images |
新建并启动容器
-it 代表 interactive tty
1 | docker run -it --name=myu1 ubuntu /bin/bash |
列出当前运行的docker
1 | docker ps -a |
使用docker run -it
启动的容器,自动进入交互式命令行,退出有两种方式:
- exit命令(容器停止运行)
- 快捷键ctrl+p+q(容器继续后台运行)
docker run和docker start的区别:
docker run是使用镜像启动一个新的容器,而docker start是启动之前存在的容器。
删除已经停止的容器
1 | docker rm container_id / name |
进入活动状态的容器
1 | docker attach container_id/name |
上面命令如果使用exit退出,会使容器停止
想要退出时候保持后台运行,可以按快捷键control+p+q (control按住不放,先后按下p和q)
1 | docker exec container_id |
上面命令进入,使用exit退出,不会使容器退出
容器传文件到宿主机(在宿主机执行)
1 | docker cp container_id:/file/to/path |
把整个容器导出为一个tar包
1 | docker export container_id > ~/abcd.tar |
从导出包导入容器
1 | cat ~/abcd.tar | docker import - 用户名/镜像名字:版本号 |
把修改好的container进行commit
1 | docker commit -m="add vim for ubuntu" -a="mapxn" d99969a97223 ubuntu-vim:1.0.1 |
发布到阿里云的私有仓库
1 | docker push registry.cn-shanghai.aliyuncs.com/mpn/dkdk:1.0.1 |
挂载容器数据卷
1 | docker run -it --privileged=true -v ~/repo/docker:/tmp:ro ubuntu /bin/bash |
跑一个mysql实例
1 | docker run -d -p 3306:3306 --privileged=true \ |
宿主机 | 容器 | |
---|---|---|
端口 | 3306 | 3306 |
日志目录 | ~/repo/docker/mysql/log | /var/log/mysql |
数据目录 | ~/repo/docker/mysql/data | /var/lib/mysql |
配置目录 | ~/repo/docker/mysql/conf | /etc/mysql/conf.d |
配置~/repo/docker/mysql/conf/my.cnf
1 | $ cat my.cnf |
重启mysql容器。
运行一个postgresql实例
1 | docker run -d --name postgres \ |
查看容器占用的磁盘大小
1 | docker system df -v |
docker列出虚悬镜像
1 | docker image ls -f dangling=ture |
删除虚悬镜像
1 | docker image prune |
查看docker网络
1 | docker network ls |
docker 安装portainer
1 | docker run -d \ |
docker 安装tomcat
1 | docker run -d \ |
docker 安装 nginx (开启文件服务器)
1 | mkdir -p ~/repo/docker/nginx/www |
docker 安装frps
1 | docker run \ |
docker 查看正在运行的容器日志
1 | docker logs -f |