docker 进阶操作

docker进阶操作

1拷贝文件

1 docker cp 1.txt mycentos2:/home 从宿主机拷贝文件到容器内部

2 docker cp mycentos2:/home/1.txt /home/1.txt 从容器往外拷贝,不需要进入容器内部

2 目录挂载

docker run -di -v /home/lqz:/home --name=mycentos3 centos:centos7

3 删除容器

docker rm 容器id/名字 删除容器

4 查看容器的ip地址

1 查看容器详情:docker inspect 容器名字/id NetworkSettings下的IPAddress是容器的ip地址

2 查看容器ip docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(容器ID)

4 服务部署

部署mysql

拉取:docker pull mysql:5.6

启动:docker run -di --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6

远程连接宿主机的3306端口,即可连接到容器的mysql服务

部署redis

docker pull redis 不加tag ,拉最新的版本,也就是lasted版本

docker run -di --name=myredis -p 6379:6379 redis 启动redis

远程连接即可

5 迁移与备份

将容器保存为镜像

docker commit 容器名字 要打包成的镜像名字

docker commit mycentos2 lqz_centos7

基于打包好的镜像,再跑起容器来,那么容器内部原来装的软件,都会有

docker run -di --name=lqz_centos7_1 lqz_centos7:latest

启动起容器来,软件都会有

镜像备份

docker save -o lqz_centos7.tar lqz_centos7

镜像恢复

docker load -i lqz_centos7.tar

6 私有仓库

私有仓库就是给公司内部用的,我搞好了一个镜像,如果你要的话我就可以给你,但是用u盘考来考去会非常麻烦,所以就有了一个私有仓库,你需要在自己创建一个私有仓库,然后上传镜像,别人就可以访问你的私有仓库来拉这个镜像。

私有仓库也是一个容器,你也要把它跑起来,别人才能访问,不然是不能访问的,你可以把她理解成为一个网站,别人可以登录这个网站下载你上传的镜像。

1 docker pull registry 拉下一个镜像

2 docker run -di --name=registry -p 5000:5000 registry 启动镜像形成容器

3 打开浏览器 输入地址http://101.133.225.166:5000/v2/_catalog 没有上传镜像,是空的 {"repositories":[]}

http://112.124.28.149:5000/v2/_catalog

配置私有仓库

vi /etc/docker/daemon.json

{"insecure-registries":["101.133.225.166:5000"]}

重启docker 服务

systemctl restart docker

重启registry的容器

docker restart registry

上传到私有仓库

打标签 (打标签一定要注意,标签名字一定是 ‘ ip:port/随便起 ’这样的形式)

docker tag lqz_centos7 101.133.225.166:5000/lqz_centos7

上传标记的镜像

docker push 101.133.225.166:5000/lqz_centos7

本地删除镜像后,可以从私有仓库拉下来

docker pull 101.133.225.166:5000/lqz_centos7

再跑起容器,内部就有aaa bbb文件夹

posted @ 2020-02-23 15:52  chanyuli  阅读(187)  评论(0编辑  收藏  举报