UID814
现金0
在线时间0 小时
注册时间2018-11-18
黑狼菜鸟
- 积分
- 0
|
- 安装Docker
- 管理Docker假造机
- DaoCloud镜像加快器
- 镜像
- 容器
- 镜像发布
一,安装Docker
安装docker
情况:centos7.x
起首更新yum sudo yum -y update
然后实行安装下令 sudo yum install -y docker
Docker 默认的位置: /var/lib/docker
二、管理Docker假造机
(1)管理Docker假造机下令
启动Docker
sudo systemctl start docker
重启Docker
sudo systemctl restart docker
关闭Docker
sudo systemctl stop docker
(2)一图读懂Docker下令
(3)给当前用户赋予实行docker下令权限
# 创建docker用户组
1.sudo groupadd docker
# 将当前用户添加到docker组中
2. sudo gpasswd -a ${user} docker
# 重启docker历程
3.sudo systemctl restart docker
4.重新登录shell
三、DaoCloud镜像加快器
1.DaoCloud官网地点
http://www.daocloud.io/mirror
2.设置DaoCloud
2.1 shell下实行下令:
curl -sSL http://get.daocloud.io/daotools/set_mirror.sh | sh -shttp://f1361db2.m.daocloud.io
2.2 实行完上述下令后,多了个逗号,打开/etc/docker/daemon.json文件,去掉“,”;
2.3重启docker
sudo systemctl restart docker
四、镜像
1.在线安装镜像
从dockerhub上搜刮镜像并在线安装。
dockerhub地点: http://hub.docker.com/
在线 安装镜像,不必要注册
推送本身的镜像到dockerhub,必要注册用户
案例:在线安装java镜像
step1: 搜刮java镜像
docker search java
step2:从dockerhub拉去并安装java镜像
docker pull docker.io/java
2,镜像相干底子下令
(1)检察全部安装的镜像
docker images
(2)修改docker镜像名称
docker tag oldname newname
docker tag docker.io/java java
(3)备份镜像
镜像导出
docker save java> /home/java.tar.gz
镜像导入
docker load < /home/java.tar.gz
(4)删除镜像
docker rmi 镜像名称或镜像id
(5)检察镜像依靠
docker history imageid
3,编写Dockerfile
3.1,实行hellowold-dockerfile
3.2,Dockerfile语法梳理及最佳实践
FROM
选取base image
FROM scratch
scratch表现不依靠任何image,重新制作.
LABEL
镜像作者信息
LABEL maintainer="[email protected]"
LABEL version="1.0"
LABEL description="this is description"
RUN
实行下令并创建新的Image Layer
WORKDIR
设定当前工作目次,雷同于 cd下令
WORKDIR /root 假如没有会主动创建root
WORKDIR demo
RUN pwd 输出效果/root/demo
ADD and COPY
将当地文件添加到docker image中
ADD
ADD hello / 将hello文件添加到根目次
ADD test.tar.gz / 添加到根目次并解压
WORKDIR /root ADD hello test/ 添加到/root/test中
COPY
WORKDIR /root COPY hello test/
ADD与COPY区别
ADD除了COPY还可以对tar.gz解压缩
ENV
存储和网络
VOLUME
EXPOSE
Shell和Exec
shell:将要运行的下令作为shell脚本实行
ENTRYPOINT
- 设置容器启动时运行的下令
- 让容器以应用步伐大概服务的情势运行
- 不会被忽略,肯定会实行
3.3Dockerfile学习资料
Dockerfile在github上的代码库
http://github.com/docker-library/
Dockerfile reference
http://docs.docker.com/v17.09/engine/reference/builder/
五、容器
1.容器底子下令
启动容器: docker run
docker run -it --name myjava java bash
docker run -it --name myjava -p 9000:8080 -p 9001:8888 java bash
docker run -it --name myjava -v /home/project:/soft --privileged java bash
-it:代表交互式运行,进入docker情况
--name代表容器名称
-p 9000:8000 将宿主机9000端口映射到docker容器的800端口
-v 将宿主机/home/project映射到容器的/soft目次
--privileged 代表docker拥有操纵宿主机文件的最高权限
检察正在运行的容器
docker container ls -a
docker ps -a
案例:启动docker容器,并在容器中创建文件,将文件映射到宿主机中。
sudo docker run -it -p 9000:8080 -v /usr/gy/docker:/soft --privileged --name myjava docker.io/java bash
cd /soft
touch hello.txt
echo "hello">hello.txt
效果: 宿主机的/usr/gy/docker中有文件hello.txt
退出容器 exit
停息容器 docker pause myjava
规复容器运行 docker unpause myjava
制止容器 docker stop myjava
重新启动容器 docker start -i myjava
删除容器
可以利用"docker rm 容器id"来删除一个停止状态的容器;若要删除一个运行 中的容器,必要加-f参数
sudo docker rm -f 8023be72d98f
删除全部容器
docker rm $(docker container ls -al)
删除全部退出的容器
docker rm $(docker container ls -f "status=exited" -q)
2.基于容器创建新的镜像
方法一:docker container commit containerName newImageName
简写:docker commit containerName newImageName
案例:基于centos容器创建新的镜像
step1:启动centos容器 docker run -it centos
step2: 改变容器的内容
安装vim yum install -y vim
step3:将改变后的容器,重新编译成image
step4: docker commit jovial_mcnulty gy/centos-vim
方法二、Dockerfile
案例:基于centos容器创建新的镜像
在宿主机上实行以下下令:
1,创建并进入目次 /usr/gy/docker/docker-centos-vim
2,创建并编写Dockfile文件
vi Dockerfile
#基于docker.io/centos镜像构建
FROM docker.io/centos
#运行安装vim下令
RUN yum install -y vim
3,运行下令
docker build -t gy/centos-vim-new .
-t:代表天生的镜像名称
. 点表现 Dockerfile 文件地点的路径,上例是当前路径,以是是一个点
题目:镜像是只读的为什么能安装vim?
答案:镜像在运行过程中会天生一个暂时容器,将vim安装到暂时容器中,末了将暂时容器转成新的镜像同时暂时容器被删除
六、镜像发布
镜像上传到dockerhub
留意点:镜像名字: dockerhub-用户名/镜像名称,否则出现无权限提示
step1:docker login
登录dockerhub
step2: docker push imagename
step3: 验证:
方法一:登录dockerhub网站,找到提交的镜像
方法二:删除当地的镜像,重新拉去dockerhub上新提交的镜像
dockerfile
dockerhub与github关联,dockerhub主动克隆gihhub上的堆栈并主动构建镜像
搭建私有dockerhub
registry: http://hub.docker.com/_/registry
step1:找一台服务器启动registry
docker run -d -p 5000:5000 --restart always --name registry registry:2
step2:当地打包镜像 docker build -t ip:5000/imagename[:tag]
留意: 必须是registry地点服务器的ip:5000/imagename:tag
step3:编辑/etc/docker/daemon.json
添加内容: {"insecure-registries":["registry-ip:5000"]}
step4:编辑 /lib/systemd/system/docker.service
添加内容:
step5:重启docker
sudo systemctl restart docker
step6: docker push rgistry-ip:5000/imagename
验证:
http://docs.docker.com/registry/spec/api/ |
上一篇:怎么在一台电脑上安装win7与centos7双体系下一篇:Centos7.564位安装教程
|