Docker典型命令演练

一、镜像相关的命令

https://download.docker.com/linux/centos/docker-ce.repo      安装docker-ce的yum镜像源
docker search 在docker hub中搜索镜像; docker pull 从docker镜像源服务器拉取指定镜像或者库镜像; docker images 列出系统当前镜像;
docker commit ID name 可以实现容器提交为新的镜像,提交的镜像自动进入当前系统的镜像列表(容器|镜像内容是完整的);
docker export ID > name.tar 可以实现容器提交为新的镜像,提交的镜像不能自动进入当前系统的镜像列表,可以提交为新的tar文件;(镜像内容会丢失部分数据:当前正在运行中、内存中、环境变量、执行命令)
cat cetos7.tar | docker import - centos7_v3.tar 从tar包的内容创建一个命名为centos7,版本为v3的镜像
docker save centos7:v1 -o centos7:v3.tar 直接导出镜像为.tar文件(镜像内容是比较完整的)(-o给tar包命名)(推荐使用导出镜像的方法)
docker load -i centos7_v3 导入save保存的镜像; docker history 展示一个镜像形成历史; docker push 推送指定镜像或者库镜像至docker源服务器; docker build
-t centos:ssh - < Dockerfile docker build -t centos:ssh . 通过Dockerfile定制镜像; docker rmi ID(可以多个ID) 移除一个或多个镜像; docker tag 镜像名:版本 标签名:版本 给镜像打标签;
docker cp zabbix-3.2.6.tar.gz 1ccbd29c12c5:/tmp/    #从宿主机拷贝文件至docker容器;
docker cp 1ccbd29c12c5:/tmp/zabbix-3.2.6.tar.gz .     #从docker容器拷贝文件至宿主机;

二、容器相关命令

1、创建及运行容器

docker run -itd --net=none --name=centos6 --privileged  -p 80:80 -p 6022:22  -v  /var/www/html/:/usr/share/nginx/html/  docker.io/lemonbar/centos6-ssh:latest  /bin/bash   在容器里启动一个/bin/bash shell环境,可以登录进入操作.
其中相关的参数解释如下:
-itd               其中-t tty,表示打开一个终端的意思,-i interactive,表示可以交互输入,-d表示在后台启动,以daemon方式启动。
--net              指定容器的网络模式
--name             给容器命名,跟ID对应,都是唯一
--privileged       使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。
-p  80:80          端口映射(第一个80表示宿主机的端口,第二个表示容器的端口)
-v                 目录挂载(冒号":"前面的目录是宿主机目录,后面的目录是容器内目录。)
/bin/bash          启动一个bash环境(可以不设置,当容器和宿主机有端口冲突是,会导致容器一直处于退出状态,这是可以使用sleep 999d启动容器)
-cpus=1 指定容器使用cpu个数
--cpuset-cpus=0-0 指定容器使用一个或多个cpu(指定逻辑cpu)
-m 512m 指定容器的内存限制
-h, --hostname 指定容器的主机名(由于每次启动容器时会先经过初始化层,从初始化层读取主机名,详见原理)

 2、其他命令

docker start   ID                       启动容器;
docker stop    ID                       停止容器;
docker  exec   -it  id  /bin/bash       进入容器终端
docker stats ID 动态查看容器资源使用情况
docker stats ID --no-stream 静态查看容器资源的使用情况
docker commit ID name:v1 提交当前容器为新的镜像,并给镜像命名为name,版本为V1
docker inspect 查看容器所有信息 docker inspect ID
|grep -i "ipaddr " 查看容器IP信息; docker ps 列出运行中的容器列表; docker ps -a 列出所有容器列表; docker ps -qa 列出所有容器的ID docker restart 重启运行的容器; docker rm 移除一个或者多个容器; docker top 查看容器中运行的进程信息; docker create 创建一个新的容器,同run,但不启动容器; docker diff 查看docker容器变化; docker exec 在已存在的容器上运行命令; docker kill 指定docker容器; docker info 显示系统相关信息; docker pause 暂停容器; docker unpause 取消暂停容器; docker port 查看映射端口对应的容器内部源端口; docker wait 截取容器停止时的退出状态值;

 三、Docker仓库源更新

        Docker默认连接的国外官方镜像,通常根据网络情况不同,访问时快时慢,大多时候获取速度非常慢,为了提示效率可以自建仓库或者先修改为国内仓库源,提升拉取镜像的速度。Docker可以配置的国内镜像有很多可供选择,例如:Docker中国区官方镜像、阿里云、网易蜂巢、DaoCloud等,这些都是国内比较快的镜像仓库。从国外官网下载Docker Tomcat镜像,访问速度慢;

Docker镜像修改方法,vim /etc/docker/daemon.json,执行如下命令即可:

cat>/etc/docker/daemon.json<<EOF
{
"registry-mirrors":["https://registry.docker-cn.com"]
}
EOF
service docker restart
posted @ 2018-11-26 15:19  流年晕开时光  阅读(201)  评论(0编辑  收藏  举报