docker 使用

Posted clbao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker 使用相关的知识,希望对你有一定的参考价值。

一、下载centos镜像

1.搜索centos并下载

docker search centos

技术图片

2. 下载纯净版的centos

docker pull docker.io/centos

技术图片

3. 下查看下载的镜像

docker images

技术图片

二、创建容器

1. 创建

docker run -dit --name my_centos  470671670cac
-t 表示在新容器内指定一个伪终端或终端;
-i 表示允许我们对容器内的(STDIN)进行交互;
-d 表示将容器在后台运行;
/bin/bash,这将在容器内启动 bash shell;

2. 切入创建的centos容器并部署环境

docker exec -it  c98557a91e51   /bin/bash

注意:容器环境为纯净版本,很多命令需要自己下载

python的安装下载

二、Docker仓库

仓库(Repository)是集中存放镜像的地方。

1 拉取镜像

docker  pull  registry 
2.  查看所有镜像
 docker images

3.  创建目录存储镜像

cd /usr/local/
mkdir docker_registry 

4.  启动镜像仓库

这将使用官方的 registry 镜像来启动私有仓库。默认情况下,仓库会被创建在容器的

docker run -d -p 5000:5000 --name=jackspeedregistry    --restart=always --privileged=true  -v /usr/local/docker_registry:/var/lib/registry  docker.io/registry
解释:
  -p 5000:5000 端口
  --name=jackspeedregistry 运行的容器名称
  --restart=always 自动重启
   --privileged=true centos7中的安全模块selinux把权限禁止了,加上这行是给容器增加执行权限
  -v /usr/local/docker_registry:/var/lib/registry 把主机的/usr/local/docker_registry 目录挂载到registry容器的/var/lib/registry目录下,假如有删除容器操作,我们的镜像也不会被删除
  docker.io/registry  镜像名称

5.  删除容器

docker container ls -a #获得容器信息
docker container ls -a -q #获得容器id

docker container stop container_id 停止容器
docker container rm container_id 删除容器

docker container stop $(docker container ls -a -q) # 停止所有
docker container rm $(docker container ls -a -q) 删除所有

技术图片

6.  指定路径启动仓库

docker run -d
  -p 5000:5000
  -v /opt/data/registry:/var/lib/registry
  registry

三、本地仓库推送

1.  查看此时本地的images和container

docker images

技术图片

docker ps -a

技术图片

2.  打包容器为镜像

 docker commit -m "this is centos+python" -a ‘ccc‘ c98557a91e51  centos_python3
#      -m: 功能和描述      -a:作者 容器_id 镜像名称

3.  创建tag

docker  tag new_python   127.0.0.1:5000/new_python
docker push 127.0.0.1:5000/new_python

4. 查看仓库

curl -XGET http://127.0.0.1:5000/v2/_catalog 
带账号密码的加上   -u 账号  

技术图片

 

5. 本地仓库获取 并运行

 docker   pull  127.0.0.1:5000/new_python

 

 

以上是关于docker 使用的主要内容,如果未能解决你的问题,请参考以下文章

markdown docker-compose片段

sh Docker片段

《Docker 源码分析》全球首发啦!

docker 部署 coredns(内部域名解析)

docker 部署 coredns(内部域名解析)

将 Docker 容器限制为单个 cpu 核心