- window版本安装
进入 DaoCloud Docker 极速下载
开启 bios中cpu 虚拟化 Intel Virtualization Technology
进入控制面板 - > [程序] - > [Windows功能],并完全取消选中所有与Hyper-V相关的组件
打开配置窗口后左侧导航菜单选择Daemon,在Registry mirrors 一栏中填写加速器地址"https://registry.docker-cn.com","http://hub-mirror.c.163.com"
,之后点击Apply保存后Docker就会重启并应用配置的镜像地址了 - linux版本在centos安装
#Docker 要求 CentOS 系统的内核版本高于 3.10uname -r
#初步安装和启动dockeryum -y install docker
#启动systemctl start docker
#docker开机自启动systemctl enable docker
(或者用sudo +…)
#设置镜像vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
#重启dockersystemctl daemon-reload
systemctl restart docker.service
- docker命令
#搜索镜像docker search image_name
#下载镜像docker pull centos
docker pull centos:latest
#查看镜像列表docker images
#删除单个镜像docker rmi image-id
#创建容器run命令
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-p: 端口映射,格式为:主机(宿主)端口:容器端口docker run -it centos /bin/bash
docker run --name mydocker -it centos /bin/bash
#删除单个容器docker rm container-id
删除全部容器 在命令提示符中运行“Powershell”,将命令提示符的运行模式修改为Powershell模式;docker rm $(docker ps -aq)
#查看运行中的容器docker ps
#查看所有容器docker ps -a
#停止、启动、杀死一个容器docker stop Name/ID
docker start Name/ID
docker kill Name/ID
docker restart name
#进入容器docker exec -it centos /bin/bash
如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器,
#更新容器内存大小docker update -m 2048m <name>
docker update -m 1024m --memory-swap 1024m name
#更新容器cpu --cpuset-cpus="1,3"在 cpu 1 和 cpu 3
#–cpuset-cpus=“0-2” 在 cpu 0、cpu 1 及 cpu 3 上执行docker update --cpuset-cpus="0" mycentos
#查看容器占用资源状态docker stats
#查看容器运行在那个cpu上,进入容器后
#查看cpu个数# lscpu 查看内存 free -m
#可以用于 查看 当前线程 对应绑定的 在 哪个核上面。taskset -pc PIDtaskset -cp 1
#映射端口docker run -i -t -d -p 9000:9000 --name=test centos
#挂载目录docker run -it -v /test:soft centos /bin/bash
docker run -it -d -p 8090:80 -p 27017:27017 -v /opt/marketing:/soft --name marketing centos
docker run -it -d -p 8090:80 -p 27017:27017 -p 6379:6379 -v /opt/marketing:/soft --name marketing centos
- 构建镜像
docker hub登陆docker login
推送(注册账号,本地登陆)docker push yadockeray/test
镜像名(推送新增更新本地有的版本)docker push yadockeray/test:1.0.0
(只推送指定版本)docker pull yadockeray/test:1.0.0
(下载指定版本,不加tag下载latest版本)
#导出导入镜像docker save > /opt/centos.tar centos:latest
(name:tag)docker load < centos.tar
#导入导出容器docker export > nginx-test.tar nginx-test
nginx-test.tar为目标文件,nginx-test是源容器名(name)docker import nginx-test.tar nginx:imp
commit构建
#commit,-a :提交的镜像作者;-m :提交时的说明文字;不加:tag版本为latest,不保存挂载目录文件docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1
(name:tag)
Dockerfile来构建镜像mkdir dockerfile
cd ./dockerfile
vi Dockerfile
ubuntu - centos
-
docker build -t yadockeray/mynginx .
docker run -d -p 80:80 -p 443:443 --name slt_nginx yadockeray/mynginx
dockerfile中未加CMD [“nginx”, “-g”, “daemon off;”]时docker run -d -p 80:80 --name slt_nginx yadockeray/mynginx nginx -g "daemon off;"
curl localhost
- logs
docker logs [OPTIONS] CONTAINER
Options:
–details 显示更多的信息
-f, --follow 跟踪实时日志
–since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
–tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
–until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID
查看指定时间后的日志,只显示最后100行docker logs --since 30m CONTAINER_ID
查看最近30分钟的日志docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID
查看某时间段日志 - 容器安装工具
#使用systemctl来启动服务docker run -tid --name hadoopbase centos /usr/sbin/init
#-bash: service: command not foundyum install initscripts
#ssh安装rpm -qa | grep ssh
yum install openssh-server
/etc/init.d/sshd status
或者(service sshd status)systemctl start sshd.service
systemctl restart sshd.service
#容器拷贝docker cp /usr/downloads/nginx-1.14.2.tar.gz supply-marketing:/home
#拷贝容器docker cp supply-marketing:/home /usr/downloads/nginx-1.14.2.tar.gz
#linux远程拷贝scp /opt/centos.tar root@192.168.0.1:/opt/
#zip解压缩yum install -y unzip zip;
- linux修改时区
设置timezone的时区sudo timedatectl set-timezone 'Asia/Shanghai'
或者echo "Asia/Shanghai" > /etc/timezone
设置时间rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
- stress测试
# Version: 0.0.1
FROM ubuntu
MAINTAINER slt680@163.com
RUN apt-get update \
&& apt-get upgrade -y \
&& apt-get install -y nginx
RUN echo "Hi, I am your contrainer" > /usr/share/nginx/html/index.html
EXPOSE 80 443
CMD ["nginx", "-g", "daemon off;"]
FROM centos
MAINTAINER slt680@163.com
RUN rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm \
&& yum install -y nginx
EXPOSE 80 443
CMD ["nginx", "-g", "daemon off;"]