一、镜像相关的命令
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