docker使用
安装
加速器配置:
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://74f21445.m.daocloud.io

service docker restart 重新启动
docker镜像资源操作
-
搜索镜像资源

-
拉取镜像资源
docker image pull nginx:下载Nginx镜像资源 -
查看本地镜像资源:
docker images -
删除本地nginx镜像资源:
docker images rm nginx -
对django_1.11镜像资源进行重命名为django:
docker tar django_1.11:latest django:latest -
对镜像资源进行打包处理:
docker save -o xxx.tar xxx -
导入打包好的镜像资源:
docker load -i xxx.tar -
查看镜像资源详情:
docker image inspect xxx
docker容器操作
1. 运行容器:
# 与运行Ubuntu容器为例
docker run -it --name myu ubuntu /bin/bash
2. 查看运行容器:
docker container ls
# 简写:docker ps

3. 查看所有容器:
docker container ls --all
# 简写:docker ps -a
4. 退出容器
exit
5. 容器后台运行
在上面启动容器时,会进去到容器里面去。现在我们需要容器在后台运行,那么就以守护进程的方式。
docker run -dit --name myuu ubuntu
# 在通过:docker ps 查看


6. 进入后台运行容器
docker exec -it myu2 /bin/bash
7. 停止/启动后台运行容器
docker stop myu2
# 启动:docker start myu2
8. 删除容器
docker container rm myu
# 简写:docker rm myu
- 不能删除正在运行的容器

9. 将运行/退出的容器生成一个新的镜像
docker commit xxx new_xxx
为什么对容器生成新的资源?对安装各种各样的服务的容器生成镜像,在打包发布。
脚本形式批量删除
shell脚本语言:以docker删除容器镜像为例,docker rm -f $(docker ps -a -q),这个就是一个简单脚本语言。
只要在终端能执行的语句,都能写在脚本里面
执行时加上权限:chmod a+x a.sh
./a.sh就执行了脚本里面的内容
docker部署流程演示
1. 容器中安装软件
- 更新软件源:
apt update - 在容器类下载部署环境的软件
- 导出容器为镜像:
docker commit myu mydjango(myu为容器名,mydjango为导出镜像名称) - 将导出的镜像进行打包:
docker save -o mydjango.tar mydjango(mydjango为镜像名称) - 删除原来的mydjango镜像:
docker rmi mydjango - 在要部署的服务器上面导入镜像:
docker load -i mydjango.tar
2. 导入镜像后的操作
- 启动导入的镜像:
docker run -dit --name django --network=host mydjango /bin/bash(以本机的网络运行)
私有仓库的搭建
1. 下载registry镜像
docker pull registry
2. 启动仓库容器
docker run -d -p 5000:5000 registry
3. 配置私有仓库
# 进入/etc/docker,编辑daemon.json
{"registry-mirrors": ["http://74f21445.m.daocloud.io"],"insecure-registries":["1.117.25.146:5000"]}
4. 重新启动
service docker restart
5. 运行私有仓库
docker run -d registry
6. 将镜像资源进行上传到私有仓库
docker push 1.117.25.146:5000/ubuntu
7. 拉取上传的镜像
docker pull 1.117.25.146:5000/ubuntu