多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
1. 创建容器,并进入bash应用 ```docker run -t -i software /bin/bash``` 备注:-t 进入终端的意思 /bin/bash终端可使用命令 2. 列出本地镜像 ```docker images``` 3. 修改已有镜像 1)、先利用原有的镜像启动容器 ```docker run -t -i software /bin/bash``` 会进入 ```root@0b2616b0e5a8:/#``` 我们记住这个会话ID 2)、随便在容器创建写东西 ```root@0b2616b0e5a8:/# touch explame.txt``` 创建完成之后使用exit退出bash界面 3)、现在容器已经被我们改变了,使用 docker commit 命令来提交更改后的镜像副本 ```docker commit -m "更新说明" -a "指定更新的用户信息" 会话ID 目标仓库名/新的镜像名 ``` 在创建成功后会返回这个镜像的ID信息 完整命令: ``` docker commit -m "Added json gem" -a "Docker Newbee" 0b2616b0e5a8 ouruser/sinatra:v2 4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c ``` 4)、之后我们可以使用新的镜像来启动容器 ``` docker run -t -i ouruser/sinatra:v2 /bin/bash root@78e82f680994:/# ``` 4. 创建容器之后,可以使用以下命令再次进入bash界面 ```docker exec -t -i nginx /bin/bash``` 5. 利用Dockerfile来创建生成镜像 ``` # 指定容器镜像 FROM 624508914/nginx # 维护者信息 MAINTAINER 624508914 <624508914@qq.com> # RUN 执行容器命令 RUN touch /root/2.txt # 最后使用docker build 来生成镜像 # docker build -t="624508914/nginx:v2" . # 这里的624508914/nginx:v2是新的镜像名 # 在最后是有一个 . 的 这个点代表Dockerfile所在路径 ``` docker build -t是指定新的用户信息 “.”是Dockerfile所在的路径,也可以替换为一个具体的Dockerfile的路径 * 一个镜像不能创建超过127层 6. 利用新的镜像启动容器 ```docker run -d -p 80:80 --name nginx 624508914/nginx:v2``` 7. 删除一个镜像 ```docker rmi 624508914/nginx:v2``` * 如果正在使用这个镜像 可以加 -f 进行强制删除 8. 删除一个容器 ```docker rm nginx``` * nginx是我在创建容器时使用--name指定的容器名 当然你也可以用容器ID * 如果提示无法删除,可以加 -f 进行强制删除 9. 修改镜像标签 ``` #docker tag 镜像ID 新的镜像名 #完整命令如下: docker tag 58ef2dw21f 624508914/nginx:level ``` 10. 导入本地镜像 ``` cat centos7.minimal.tar.gz | docker import - centos:7 ``` 11. 上传镜像到Docker远程仓库 ``` docker push 624508914/nginx ``` * 在push之前必须先使用命令登录hub.docker.com ``` docker login -e 624508914@qq.com -p 624508914!@ ```