一:了解docker
1:安装docker
sudo apt-get update #更新应用商店
sudo apt-get -y docker.io #下载docker
systemctl start docker #启动docker
systemctl status docker #查询docker状态
systemctl stop docker.socket #关闭docker服务
systemctl enable docker #设置docker开机自启
docker version #查看docker版本
2:docker镜像,容器,仓库的使用
(1):docker镜像
docker images #docker镜像的管理
docker search nginx #docker的镜像的搜索
docker pull nginx #docker的镜像的下载
docker rmi 8dfd3f01b7aa #在删除镜像之前,需要停止和删除所有此镜像所创建的容器
docker rmi $(docker images -q) #删除全部的images
(2):docker容器
docker run -d -p 8888:80 nginx #把dockers的镜像变
成一个容器,-d 后台运行,-p端口映射,把docker镜像nginx的80端口映射到Linux的8888端口上;
docker run -d --name nginx01 -p 3344:80 nginx #把dockers的镜像变成一个容器,--name,docker容器的重命名
docker ps #容器的查看
docker stop b785b81b8c45 #通过容器的id号来停止一个运行的容器
docker ps -a #查看所有的历史容器
docker start b785b81b8c45 #重启启动之前被关闭的容器服务
docker rm b785b81b8c45 #删除一个容器,前提是stop此容器
docker exec -it b785b81b8c45 /bin/bash #进入容器
需求:将本地的文件上传到docker容器里面
1.确定docker容器的id号 docker ps 91e80d5a8527
2.确定本地文件的绝对路径 pwd /root/time.html
3.确定docker容器所要上传的位置 docker exec /usr/share/nginx/html
docker cp /root/time.html 91e80d5a8527:/usr/share/nginx/html #把本地文件上传到docker容器中
#在容器中添加自己的123.txt文件
root@b785b81b8c45:/# find / -name index*
root@b785b81b8c45:/usr/share/nginx/html# cd /usr/share/nginx/html/
root@b785b81b8c45:/usr/share/nginx/html# chmod 644 time.html
root@b785b81b8c45:/usr/share/nginx/html# echo flag{123hhhh} > 123.txt
root@b785b81b8c45:/usr/share/nginx/html# exit
exit
#删除容器
(1)首先需要停止所有的容器
docker stop $(docker ps -a -q)
(2)删除所有的容器(只删除单个时把后面的变量改为image id即可)
docker rm $(docker ps -a -q)
将镜像变成容器时遇到了问题:例如输入docker run -d -p 8888:80 nginx时遇到了报错例如:
解决办法为重启即可:systemctl restart docker 详细可转至下方链接(我看不懂)
docker仓库
docker ps
docker commit b785b81b8c45 nginx_demo:v1.1 提交你刚才修改的镜像,新的镜像名称为demo,版本为v1.1
docker images
docker run -d -p 9999:80 nginx_demo:v1.1
docker ps
参考:https://www.cnblogs.com/todarcy/p/15936855.html
docker tag local-image:tagname new-repo:tagname
docker push new-repo:tagname
#保存dockers
docker commit 91e80d5a852 time:v1.2 #先将修改后的容器生成一个镜像
docker save <IMAGE ID> > /home/export.tar #将镜像打包成一个tar包
docker save 0ce730ae88da > /root/time2.tar
#导入docker
docker load < time.tar