@phper
2017-08-11T14:07:29.000000Z
字数 1734
阅读 3444
docker
镜像
1. 列出所有镜像:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 b969ab9f929b 2 weeks ago 188 MB
nginx v4 21cfc8c8f7c0 3 weeks ago 181.6 MB
nginx v3 2465a07c11a7 3 weeks ago 181.6 MB
nginx v2 0afb50c4915d 3 weeks ago 181.6 MB
php latest 97c69bd40b40 3 weeks ago 364.5 MB
nginx latest a39777a1a4a6 3 weeks ago 181.6 MB
ubuntu latest 104bec311bcd 8 weeks ago 129 MB
2. 删除一个镜像
docker rmi b96 (image id 前三位即可)
3. 获取一个新的镜像
docker pull ubuntu:14.04
4. 运行一个镜像容器
docker run -it --rm ubuntu:14.04 bash
-it:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。
--rm:这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用 --rm 可以避免浪费空间。
ubuntu:14.04:这是指用 ubuntu:14.04 镜像为基础来启动容器。
bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash。
容器
1. 启动一个容器
启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。
1.1
#直接运行 /bin/echo 'Hello world'
sudo docker run ubuntu:14.04 /bin/echo 'Hello world'
#加了参数 --it 表示进入bash终端
sudo docker run -it ubuntu:14.04 /bin/bash
#加参数 -d 表示在后台运行
sudo docker run -itd ubuntu:14.04 /bin/bash
每运行一个,都会创建一个新的容器
1.2 启动一个已经停止的容器
docker start 16f19e0f99b4
2. 列出所有的容易
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
16f19e0f99b4 ubuntu:14.04 "/bin/bash" 14 hours ago Exited (0) 4 seconds ago nostalgic_jennings
f4eeba6c397d ubuntu:14.04 "/bin/echo 'Hello wor" 14 hours ago Exited (0) 4 minutes ago high_wright
STATUS: 状态
Exited:表示退出终止了
Up : 正在运行
3. 终止一个容器
docker stop 16f19e0f99b4
#启动
docker start 16f19e0f99b4
#重启
docker restart 16f19e0f99b4
4. 进入到一个容器
docker attach 16f19e0f99b4
5. 导出一个容器
sudo docker export 16f19e0f99b4 > ubuntu.tar
6. 导入容器
cat ubuntu.tar| sudo docker import - ubuntu:14.40
7. 删除一个容器
#删除一个停止的
docker rm fbefe65ba5ce
#强制删除一个运行中的
docker rm -f fbefe65ba5ce
rabbitMQ环境搭建
docker run -d -e RABBITMQ_NODENAME=rabbit --name rabbit -p 5672:5672 -p 15672:15672 rabbitmq:3-management
mysql
sudo docker run -d -t --name mysql-server -p 3306:3306 -e MYSQL_ROOT_PASSWORD='root' mysql:5.7