Docker

【不定时更新】之前写过一篇用docker部署ctf_web题的文章,现在重新看来顿觉太过肤浅,这里在使用中不断记录也不断加深对docker的理解吧。刚开始可能会记录的有些乱,到后面再不断总结不断完善吧。

Docker安装

Ubuntu 14.04 16.04 (使用apt-get进行安装)

# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce

# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
#   docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
#   docker-ce | 17.03.0~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]

部署镜像

1、找到合适的镜像:(阿里云镜像)https://dev.aliyun.com/search.html
2、运行镜像并绑定端口

docker run -dit -p 80:80 -p 3306:3306 -v /Users/cven/www/:/apps/  --name aiyouDocker registry.cn-hangzhou.aliyuncs.com/kfk/nginx-mysql-php7-composer:laravel /bin/bash

3、将本地题目拷贝到docker

docker cp ./test e664955e:/var/www/ (取id未重复的前几位就行)

访问docker容器

docker exec -it e664955e bash
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端

Docker常用命令

1、查看镜像 docker images
2、查看容器 docker ps -a
3、停止容器 docker stop 2345hf345
4、删除容器 docker rm 67adfkjkalfj
5、删除镜像 docker rmi 99f34527

DockerFile

【详细参考
1、http://www.ityouknow.com/docker/2018/03/12/docker-use-dockerfile.html
2、https://blog.devzeng.com/blog/build-docker-image-with-dockerfile.html

镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么之前提及的无法重复的问题、镜像构建透明性的问题、体积的问题就都会解决。这个脚本就是 Dockerfile。

  • DockerFile语法说明
1、FROM: 指定基础镜像。
2、RUN: 执行命令
3、CMD:容器启动命令
4、COPY:复制文件
5、ENV: 设置环境变量
6、EXPOSE: 声明端口
7、WORKDIR: 指定工作目录

  • DockerFile创建镜像
    Dockerfile文件创建好了,就可以通过docker build来创建docker镜像。
1、docker build --help 查看docker build的帮助文件
2、docker build -t centos:base -f /soft/docker/Dockerfile /soft 生成镜像
**  通过-f来指定Dockerfile文件的位置,后面的/soft及其目录下必须能够找到Dockerfile文件否则就会报上下文环境的错误,MV,COPY,ADD的文件位置都是相对/soft来说的。-t表示镜像名字。**
3、docker images 查看镜像 
4、利用docker run创建容器

你可能感兴趣的:(Docker)