docker使用


安装

加速器配置:

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://74f21445.m.daocloud.io

image-20210528172650835

service docker restart 重新启动

docker镜像资源操作

  • 搜索镜像资源

    image-20210528173131221

  • 拉取镜像资源

    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

image-20210528204356895

3. 查看所有容器

docker container ls --all
# 简写:docker ps -a

4. 退出容器

exit

5. 容器后台运行

在上面启动容器时,会进去到容器里面去。现在我们需要容器在后台运行,那么就以守护进程的方式。

docker run -dit --name myuu ubuntu
# 在通过:docker ps 查看

image-20210528205311854

image-20210528205337857

6. 进入后台运行容器

docker exec -it myu2 /bin/bash

7. 停止/启动后台运行容器

docker stop myu2
# 启动:docker start myu2

8. 删除容器

docker container rm myu
# 简写:docker rm myu
  • 不能删除正在运行的容器

image-20210528215154206

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

数据卷的使用