之前陆陆续续记录的笔记,整理一下,一方面回顾一下这些知识,另外一方面也方便以后查阅,如果能对新人有一点点帮助,那也是一件很好的事情。
本文同样发布在我的知乎专栏:https://zhuanlan.zhihu.com/p/258128461
一、docker基本命令
docker ps => 显示正在运行的容器(container), ps: print status docker info => 显示docker环境信息(版本号, 容器个数等) docker run hello-world => 启动最基础的一个容器 docker images => 列出本地的镜像 docker run –help => 获取docker run的帮助信息 docker pull busybox => 从远端拉取busybox镜像到本地 docker pull ubuntu:12.04 => 拉取镜像时可以指定版本号 docker kill container_id => 关闭/杀死一个容器(容器id可以通过docker ps获取) docker rm -f xxx => 彻底删除一个容器 docker inspect xxx => 查看container的具体信息
二、volumes 相关
docker volume ls => 显示所有的volumes docker volume prune => 删除无用的volume以释放存储空间
三、关于docker composer
1. What is it?
docker composer是一个定义和管理多个容器(container)的工具
2. 常用workflow
a) create empty folder
b) edit docker-compose.yml (requirments.txt)
c) docker-compose up
3. 常用commands (dc: docker-compose)
dc up => 启动 dc down => 关闭并清除container dc build => 重新build image dc ps => print process dc run web env => 查看web所用的env变量 (web是一个container) dc stop –volumes => remove data volume
注意: 所有dc命令必须在工作目录下才能执行(有docker-compose.yml)
docker持久化数据在下面的目录
- /var/lib/docker/volumes
(docker-compose down -v 这个操作会删除对应的volume)
四、docker实例
1. 启动mysql(run的参数可以在docker hub里找到)
docker pull mysql:5.7 docker run -p 13306:3306 –name mysql-in-vps -v /root/data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=xxx mysql:5.7
在主机上可以通过: mysql -P 13306 -u root -p -h 127.0.0.1 来访问它。
2. 启动cassandra(注意Cassandra的版本,找到适合自己工程的版本)
docker pull cassandra:2.1 docker run -p 19042:9042 -v /my/host/path/data:/var/lib/cassandra –name cassandra1 cassandra:2.1
启动好后,可以通过DevCenter来连接它。
五、Q&A
1. 当一个容器启动了,如何进入到container里面?
A: docker exec -it xxx bash (xxx 可以是容器的name,或者id)
2. 进入容器后,发现没有任何编辑器
A: apt-get update && apt-get install vim (必须先update一下才能安装软件包)