安装
安装docker:
curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh --mirror Aliyun
启动docker:
systemctl enable docker
systemctl start docker
查看docker版本:
docker version
docker info
docker设置阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://dxnwcvq1.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
导入导出
将正在运行的docker容器生成images:
docker commit -a "zh" [容器ID] django:v1
打包images:
docker save -o django.tar django:v1
导入images:
docker load -i django.tar
推送拉取
拉取推送步骤:
第一种方式:
1 根据dockerfile生成镜像
docker build -t 镜像名:版本号 .
docker build -t push_test:v1 .
2 登录docker hub
docker login 输入对应的用户名密码
3 给对应镜像打上标签
docker tag 镜像ID dockerhub仓库名:版本
docker tag d47898c6f4b0 904643762/django:v1
4 推送到对应的dockerhub仓库
docker push dockerhub仓库名:版本
docker push 904643762/django:v1
第二种方式:
1 登录docker hub
docker login 输入对应的用户名密码
2 直接生成对应的镜像名打上标签
docker build -t dockerhub仓库名:标签 .
3 推送镜像到仓库
docker push dockerhub仓库名:版本
docker push 904643762/django:v1
启动容器
docker run -p 8080(宿主机):8080(容器端口) django:v1
-p 可以映射多个端口 例如:
docker run -p 8080:8080 -p 8081:8081 django:v1
-d 后台运行
docker run -d -p 8080:8080 -p 8081:8081 django:v1
--name 给生成的容器起一个名字
docker run -d -p 8080:8080 -p 8081:8081 --name django_basic django:v1
常用命令
$() 可以搭配命令一起使用,例如:强制删除所有容器
docker rm -f $(docker ps -a)
docker logs 容器ID|名称
docker logs -f 容器ID|名称
docker cp 容器ID:容器内资源路径 宿主机目录路径
docker cp 文件|目录 容器ID:容器路径
docker top 容器id|name
docker inspect 容器id|name
数据卷volume机制
作用:用来实现容器中数据和宿主机中数据映射(同步)
注意:数据卷使用必须在容器首次启动时设置
使用:docker run -v 宿主机目录:容器目录
a.使用绝对路径设置数据卷
docker run -v 宿主机绝对路径:容器内路径:ro
ro:readonly 容器内路径为只读属性
注意:以这种方式会将容器内路径下内容完全替换为宿主机内容,始终以宿主机路径为主。
b.以别名方式设置数据卷
docker run -v ss:容器内路径
ss代表docker数据卷中别名,这个别名如果存在docker直接使用,不存在自动穿件
使用别名方式保留容器路径原始内容,前提别名对应路径没有内容
创建的别名路径默认保存在:/var/lib/docker/volumes目录下
docker volume ls
docker volume inspect 数据卷别名
docker volume rm 数据卷别名
docker volume create 数据卷别名
自定义网桥实现网桥中容器通信
docker network create -d bridge es
docker network ls
docker inspect network es
docker network rm es
docker network prune
a.启动容器时指定
docker run --network 网络名称
b.启动之后加入某网络
docker network connect 网络名称
时间设置
同步容器时间与宿主机一致
docker cp /etc/localtime 27e9977466ca:/etc/
修改nginx配置文件
进入docker:docker exec -it 94d93ae18ea0 /bin/bash
查看容器:docker ps -a
cd /root
vim /etc/nginx/conf.d/docker_django_test_nginx.conf
定时器设置
unbuntu设置cron
解压缩:unzip a.zip
压缩文件:zip -r a.zip a
批量删除进程:ps aux | grep -v python
查看crontab日志:cat /var/log/syslog
启动cron:start cron
停止cron:stop cron
重启cron:restart cron
编辑定时任务:crontab -e