https://docs.docker.com/get-started/part3/
一面的内容没有完全按照教程顺序,而是按照我的理解顺序
基本概念
查看容器
docker ps -a
停止所有容器
docker stop $(docker ps -a -q)
删除所有容器
docker rm $(docker ps -a -q)
交互式的方式启动一个容器
docker run -i -t ubuntu:15.10 /bin/sh
后台启动容器,启动容器时候执行命令
镜像查看
docker images
镜像删除
docker rmi c6ba363e7c9b
删除所有镜像
docker rmi $(docker images|awk '{print $3}')
如何保存容器的状态
如何保存镜像?
docker services
在分布式系统中,不同的模块都叫做服务
docker-compose.yml
可以用来规范一组容器
Swarm clusters
docker官方提供的集群管理
docker端口映射
docker run -p
dockerfile文件编写
docker build --tag=friendlyhello . 制作docker镜像
# Use an official Python runtime as a parent image
FROM python:2.7-slim
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Install any needed packages specified in requirements.txt
RUN pip install --trusted-host pypi.python.org -r requirements.txt
# Make port 80 available to the world outside this container
EXPOSE 80
# Define environment variable
ENV NAME World
# Run app.py when the container launches
CMD ["python", "app.py"]
安装
通过如下连接下载Docker.dmg,下载完成后点击安装。
https://download.docker.com/mac/stable/Docker.dmg
完成后如下
docker基本命令概览
1. 启动一个容器
docker run -d -p 80:80 --name webserver nginx
2. 查看
docker ps -a
3. 停止容器并删除容器
docker stop webserver
docekr rm webserver
docker rm $(docker ps -a -q)
4. 查看镜像删除镜像
docker images
docker rmi 镜像id
docker rmi $(docker images -q)
容器相关
启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动。
镜像相关
可以从docker Hub上面拉取镜像使用
docker镜像和虚拟机镜像的概念差别还是很大的。
我的实践
docker中运行渗透测试框架metasploit
docker pull remnux/metasploit
sudo docker run --rm -it -p 443:443 -v ~/.msf4:/root/.msf4 -v /tmp/msf:/tmp/data remnux/metasploit