安装
-
安装
centos:
sudo yum -y install docker-io
Ubuntu:
sudo wget -qO- https://get.docker.com/ | sh
如果是ubuntu14.04安装最新版本需要升级内核之后重启
执行
sudo apt-get install --install-recommends linux-generic-lts-xenial
然后
reboot
.如果为了不重启可以按照低版本docker
sudo apt-get -y install --force-yes docker-ce=18.06.1~ce~3-0~ubuntu
如果还是报错, 依赖有问题 只能按照低版本docker. 可以通过以下命令检查可以安装的docker版本
apt-cache madison docker-ce
然后安装一个版本, 比如
sudo apt-get install docker-ce=17.03.1~ce-0~ubuntu-trusty
-
将用户添加到docker组, 这样就不用再sudo了
sudo usermod -aG docker $USER
-
启动docker 使用命令
sudo service docker start
-
docker换源
sudo curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://6616fe43.m.daocloud.io
-
重启docker
centos
sudo systemctl restart docker.service
ubuntu
sudo service docker restart
-
报错处理
-
如果遇到报错
unable to configure the Docker daemon with file /etc/docker/daemon.json: invalid…string
是配置文件错了
vi /etc/docker/daemon.json
里面是{"registry-mirrors": ["https://registry-mirror.qiniu.com"],}
多了一个逗号,删掉,再重启docker就好了
-
如果报错
docker -v
对挂载的目录没有权限Permission denied
是因为
centos7
中安全模块selinux
把权限禁掉了。执行
chcon -Rt svirt_sandbox_file_t
要挂载的目录
-
-
将docker加入到开机启动中
chkconfig docker on
日常
常用
rebuild.sh
脚本#!/usr/bin/env bash # 设置变量 project_name="hunting3" http_port=9000 echo "停止容器" docker stop $project_name echo "删除容器" docker rm $project_name echo "启动容器" echo "设置网络模式为Host, 并访问容器内${http_port}端口" docker run --name $project_name -v $PWD:/workspace -v /data/hunting_rules/temp_file_from_user:/data/hunting_rules/temp_file_from_user -v /data/sample/:/data/sample/ --net=host -p $http_port:$http_port -itd cheungchan/python bash echo "安装依赖" docker exec $project_name bash -c "pip install -r requirements.txt" docker exec $project_name bash -c "pip install -r requirements_private.txt -i http://10.10.41.106:8001/simple --trusted-host=10.10.41.106" echo "启动web" docker exec $project_name bash -c "gunicorn -c gunicorn.conf server:app --reload -D" echo "启动后台任务" # -d后台启动 -it前台启动 -e设置环境变量 docker exec -d -e PYTHONPATH=. $project_name python backgroud_scripts/monitor_for_gangs_event_to_tag_ruleset_ioc.py docker exec -d -e PYTHONPATH=. $project_name python backgroud_scripts/monitor_for_office_samples.py docker exec -d -e PYTHONPATH=. $project_name python backgroud_scripts/monitor_for_new_hunting.py docker exec -d -e PYTHONPATH=. $project_name python backgroud_scripts/monitor_for_hunting.py docker exec -d -e PYTHONPATH=. $project_name python backgroud_scripts/vt_notification_pull_to_db.py echo "rebuild完成"