Docker 你所需要知道的事 ~ ---- Docker 实用技能与镜像分享(二)

Docker安装完成后就是要部署自己所需要的镜像,镜像来源一般在:https://hub.docker.comdockerhub上有各种牛人已经部署好环境和服务的镜像,我们直接下载下来就可以使用了,有些镜像可能不满足我们的需要,这时候就可以基于该镜像定制一份满足自己需求的镜像(镜像制作后面会写)

镜像安装:

dockerpull<镜像地址>

遇到net/http:TLShandshaketimeout问题可以通过国内代理下载

dockerpullregistry.docker-cn.com/library/xxx

启动容器

dockerrun[OPTIONS]IMAGE[COMMAND][ARG...]

-p: 端口映射,格式为:主机(宿主)端口:容器端口
--name="nginx-lb": 为容器指定一个名称;
-e username="ritchie": 设置环境变量;
--link=[]: 添加链接到另一个容器;
-d: 后台运行容器,并返回容器ID

后续有对不同的容器启动进行介绍

基本操作命令

显示所有镜像信息: docker images    
删除镜像: docker rmi <镜像id>    
重命名镜像: docker tag <镜像id> <新镜像名称>    
查看镜像配置信息: docker inspect <镜像id>                      

查看所有容器信息: docker ps -a                                         
删除容器: docker rm <容器id>                             
查看容器log: docker logs <容器id>                          
重命名容器: docker rename <原容器名>  <新容器名>  
进入容器终端: docker attach <容器名称>  

用root 权限进入容器(很重要)  docker exec -u 0 -ti <容器名称> bash

容器移植

容器的移植步骤

1、提交当前容器生成镜像

docker commit <容器id> <生成镜像名称>
docker commit 2b9eea4bb1ff android_images

2、打包镜像生成tar文件

docker save <镜像名称> > <打包生成的名称>
docker save android_images > android_images.tar

3、导入镜像

docker load < <镜像包地址>
docker load < android_images.tar

4、生成容器

docker run android_images.tar

修改无法启动的容器

当我们对容器内部的数据进行操作后再重启,发现启动失败,这时候我们可能需要进入容器中对数据进行修正,但是
docker exec -u 0 -ti <容器名称> bash
这条命令必须是在容器启动的时候才能进入。

1、commit有问题的容器

docker commit <容器id> <生成镜像名称>

2、基于新镜像启动新容器并进入容器(运行交互式容器)

docker run -i -t <新镜像名称> /bin/bash

3、对容器中错误的地方进行修改

4、重新commit当前容器

5、基于新镜像启动容器注意启动时需要在命令最后加上command

docker run -i -t <镜像名称> /bin/bash ./home/start.sh

相关推荐