Docker

安装

sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager --enable docker-ce-edge
sudo yum-config-manager --enable docker-ce-test

yum install docker-ce-18.06.0.ce-3.el7 docker-ce-cli-18.06.0.ce-3.el7

开机自启

systemctl enable docker.service

查看docker配置文件

systemctl status docker

修改docker启动项  并新增4243监控端口

ExecStart=/usr/bin/dockerd -H tcp://服务器IP:4243 -H unix:///var/run/docker.sock --storage-driver overlay2 --storage-opt overlay2.override_kernel_check=true --data-root /data/docker

重启

systemctl daemon-reload
service docker restart

 

常用命令

docker制作Images
docker build -t 镜像名 .(“.”最后这一个点不能忽略)
docker 运行Images
docker run --name=容器名 --net=host(设置网络模式,host模式) 镜像名
 
Docker容器和宿主机时间不同步的解决办法
dockerfile修改容器时区
# Ubuntu
RUN echo “Asia/shanghai” 》 /etc/timezone;
# CentOS
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 
进入到docker容器
docker attach 容器Id 或者 docker attach 容器名
暂未发现怎么退出容器
 
进入到docker容器2(建议这种)
docker exec -it 容器ID /bin/bash
exit退出容器
 
实时查看docker容器输出日志
docker logs -f 容器名
 
privileged参数
使用该参数,container内的root拥有真正的root权限。
否则,container内的root只是外部的一个普通用户权限。
privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。
甚至允许你在docker容器中启动docker容器。
 
-p参数
设置docker容器端口
 
-v host主机目录:container目录[re|ro]
将容器中的地址映射到host主机中
列如: docker run --name=test --net=host -v /data:/data test
新建test镜像容器,命名为test,网络格式为host,将容器中/data路径下的文件映射到主机中/data路径下
 

docker run -it 镜像 /bin/bash

不启动镜像的情况下,查看镜像中的文件
 

监控

 
 

sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager --enable docker-ce-edge
sudo yum-config-manager --enable docker-ce-test

yum install docker-ce-18.06.0.ce-3.el7 docker-ce-cli-18.06.0.ce-3.el7


ExecStart=/usr/bin/dockerd -H tcp://172.16.235.223:4243 -H unix:///var/run/docker.sock --storage-driver overlay2 --storage-opt overlay2.override_kernel_check=true --data-root /data/docker

systemctl status docker

开机自启
systemctl enable docker.service

systemctl daemon-reload
service docker restart


添加外网访问权限
mkdir -p /etc/systemd/system/docker.service.d

echo "[Service]
Environment=\"HTTP_PROXY=http://xxxxx.proxy.repo.xxxx.com:3128/\" \"HTTPS_PROXY=http://xxxx.proxy.repo.xxxxx.com:3128/\" \"NO_PROXY=localhost,127.0.0.1\"
" > /etc/systemd/system/docker.service.d/http-proxy.conf


认证
docker login hub.devops.xxxx.com
docker login https://hub.devops.xxxx.com
输入用户名密码
devops
xxxx

推镜像
a. 将目标镜像"nginx:v1" 重打标签,添加仓库项目地址
docker tag nginx:v1 hub.devops.xxxxxx.com/library/nginx:test0926

b. 将镜像推送至 harbor
docker push hub.devops.xxxxx.com/library/nginx:test0926


拉摬像
docker pull hub.devops.xxxxxx.com/library/nginx:test0926

 
 
 
posted @ 2017-03-15 11:36  bookc  阅读(683)  评论(1编辑  收藏  举报