Docker零碎笔记记录

============Docker打包导出镜像文件到本地=======================

=====镜像的导出到本地====

1:导出镜像到当前目录 (方式一)
如:docker save 镜像ID > nginx-save.tar

2:默认导出在当前路径 (方式二)
[zrf@iz2zea76txemsii7r9mwzwz docker_files]$ sudo docker save -o qzj_back_v2.tar qzjcservice:v2

3:默认导出在当前路径,有文件就覆盖
[zrf@iz2zea76txemsii7r9mwzwz docker_files]$ sudo docker save -o qzj_back_v2.tar qzjcservice:v2

4:指定导出在选定的文件路径
[zrf@iz2zea76txemsii7r9mwzwz home]$ sudo docker save -o /home/docker_files/qzj_back_v2.tar qzjcservice:v2

5:打包microsoft的镜像
[zrf@iz2zea76txemsii7r9mwzwz docker_files]$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mcr.microsoft.com/dotnet/core/sdk 3.1-buster 397f9fc13f1c 9 months ago 710MB
mcr.microsoft.com/dotnet/core/aspnet 3.1-buster-slim 7eb413cc8141 9 months ago 208MB

[zrf@iz2zea76txemsii7r9mwzwz docker_files]$ sudo docker save -o /home/docker_files/mcr_dotnetcoresdk3.1.tar mcr.microsoft.com/dotnet/core/sdk:3.1-buster
[zrf@iz2zea76txemsii7r9mwzwz docker_files]$ sudo docker save -o /home/docker_files/mcr_dotnetcore_aspnet3.1.tar mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim


=====镜像的导入==== sudo docker load < my_image.tar

[zrf@iz2zea76txemsii7r9mwzwz docker_files]$ sudo docker load < qzj_back_v2.tar
46b81f779f37: Loading layer [==================================>] 64.21MB/168.39MB
8db488981365: Loading layer [=====================>] 19.104kB/100.56kB
Loaded image ID: sha256:swq13a47849c215a155ddfb838d6ba247f60240ec8491982eca63c4a2c13a695


[zrf@iz2zea76txemsii7r9mwzwz docker_files]$ sudo docker load -i qzj_back_v2.tar


============容器的导入导出=================

===容器的导出到宿主机===
[zrf@iz2zea76txemsii7r9mwzwz docker_files]$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
58574e2d8996 qzjcservice:v2 "dotnet QzjcService.…" 14 days ago Up 4 days 0.0.0.0:6666->6666/tcp, :::6666->6666/tcp qzjc

[zrf@iz2zea76txemsii7r9mwzwz docker_files]$ docker export -o my_container.tar 58574e2d8996
[zrf@iz2zea76txemsii7r9mwzwz docker_files]$ docker export -o my_container_`date +%Y%m%d`.tar 58574e2d8996 //按照日期自动命名


===模拟 导入容器到新的宿主机===2.容器的导入 (mycontainer:v2 分别表示生成的镜像名称和tag标签)

[zrf@iz2zea76txemsii7r9mwzwz docker_files]$ docker import my_container.tar mycontainer:v2

 

镜像和容器 导出和导入的区别:(参考自网络)

1.镜像导入 是复制的过程
2.容器导入 是将当前容器 变成一个新的镜像

save 和 export区别:

1)save 保存镜像所有的信息-包含历史
2)export 只导出当前的信息


==========docker cp 即Docker容器与宿主机之间的相互拷贝======

1:从容器里面拷贝文件到宿主机

docker cp 容器名:要拷贝的文件在容器里面的路径 拷贝到宿主机的相应路径

如:docker cp qzjc:/app/1.txt /home/ (中间有一个空格)

2:从宿主机拷贝文件到容器里面

docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径

如:docker cp /home/1.txt qzjc:/app

3:将宿主机的一个目录拷贝到容器目录下 (qzjc:容器的名称)
如: sudo docker cp /home/docker_files/testfiles/ qzjc:/app/

4:将宿主机的一个目录下面的所有文件拷贝到容器目录下 (qzjc:容器的名称),注意宿主机路径后面有一个点.
sudo docker cp /home/docker_files/testfiles/. qzjc:/app/


=====================Dockerbao打包到本地
sudo docker save -o /home/mydocker_images_byjason/v_authserver.tar v_authserver:v2
sudo docker save -o /home/mydocker_images_byjason/v_publicgateway.tar v_publicgateway:v2
sudo docker save -o /home/mydocker_images_byjason/v_projectservice.tar v_projectservice:v2
sudo docker save -o /home/mydocker_images_byjason/v_bridgeservice.tar v_bridgeservice:v2


sudo docker save -o /home/mydocker_images_byjason/mysql_57.tar mysql:5.7
sudo docker save -o /home/mydocker_images_byjason/redis_6.tar redis
sudo docker save -o /home/mydocker_images_byjason/mongo_36.tar mongo:3.6
sudo docker save -o /home/mydocker_images_byjason/nginx.tar nginx:latest

==========起重机的两个microsoft镜像
sudo docker save -o /home/mydocker_images_byjason/aspnet.tar mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim

 

================dos2unix===linux脚本不能识别的问题=============

yum install dos2unix

doc2unix 01authserver.sh //转换格式

sh 01authserver.sh //执行sh

 

========docker离线安装redis========

1.导出测试环境的镜像:
docker save > redis.tar redis:latest

2.将镜像导入到要安装的系统中: docker load < redis.tar

3.新建两个挂载目录:/data/redis/conf/,/data/redis/data

4.将准备好的一份redis配置文件上传至目录/data/redis/conf下

5.执行redis启动命令:
docker run -p 6379:6379 --name redis-cqw -v /data/redis/conf/redis.conf:/etc/redis/redis.conf -v /data/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes


//=========Linux查看端口占用情况========
netstat -tunlp | grep 8000

==============minio服务器=================
1:直接下载二进制minio文件


2 运行
=======前端运行======
./minio server start --console-address "0.0.0.0:9000"

=======后端运行======

nohup ./minio server --console-address "0.0.0.0:8090" -address "0.0.0.0:9000" /usr/local/minio/data > /usr/local/minio/logs/minio.log 2>&1 &

3:查看minio是否运行
ps -ef | grep minio


=======Docker安装minio
导出导入

docker run -p 8090:8090 -p 8082:8082 --net=host --name minio -d --restart=always -e "MINIO_ACCESS_KEY=root" -e "MINIO_SECRET_KEY=almz666888@" -v /data/minio/data:/data -v /data/minio/config:/root/.minio minio/minio server /data --console-address ":8090" -address ":8082"

 


=============Linux awk
[suqadminuserl@iZwzjhytterdw6iu78pZ lmzshells]$ echo 'qw eedd rr' | awk '{print $2}'
eedd
[suqadminuserl@iZwzjhytterdw6iu78pZ lmzshells]$ echo 'qw eedd rr' | awk '{print $3}'
rr

====================获取Docker 容器的ID 和镜像ID====================
echo $(sudo docker ps |grep "qzjcservice:v2" |awk '{print $1}') //如获取起重机的容器ID


[suqadminuserl@iZwz9ewerersd5kgw6iu78pZ ~]$ echo $(sudo docker images |grep "jenkinsci/blueocean" | awk '{print $3}')
fa5cb9ed0469

 

REPOSITORY TAG IMAGE ID CREATED SIZE
qzjcservice v2 d3a1f91b8adc 5 hours ago 1.45GB
qzjcservice v1 f02ef28969eb 4 months ago 1.44GB
<none> <none> bcfecae2aa6f 5 months ago 3.6GB
mcr.microsoft.com/dotnet/core/sdk 3.1-buster 397f9fc13f1c 8 months ago 710MB
mcr.microsoft.com/dotnet/core/aspnet 3.1-buster-slim 7eb413cc8141 8 months ago 208MB
[wenhan@iz2zea76txemsii7r9mwzwz qzjcservice]$ echo $(sudo docker images |grep "qzjcservice" | awk '{print $3}')
d3a1f91b8adc f02ef28969eb


==================docker network==============================
为新建的容器指定bridge网络
创建新的bridge网络

docker network ls 查看现在的网络
docker network create -d bridge mybridge 创建自己的bridge

创建容器并且指定bridge

docker run -d --name box5 --network mybridge busybox /bin/sh -c "while true;do sleep 3600;done"
docker run -d --name box6 --network mybridge busybox /bin/sh -c "while true;do sleep 3600;done"

运用自己的创建的bridge两个容器之间会自动link
docker exec -it ac1aa7242949 /bin/sh
ping box5
================================================


//重启docker
sudo systemctl restart docker

posted @ 2022-03-02 17:45  天天向上518  阅读(29)  评论(0编辑  收藏  举报