zl程序教程

您现在的位置是:首页 >  工具

当前栏目

docker 镜像的操作,容器的操作

2023-09-11 14:13:57 时间

镜像的操作,容器的操作
docker 介绍:
Docker 引擎有2个版本:企业版本EE,社区版CE
大版本号,小版本号docker1.13
从2017,docker版本号遵守yy.mm.dd版本号:18.06.0-ce
build once,run anywhere
6个层次的隔离PID,NET,IPC,
docker 基于容器技术的轻量级虚拟化解决方案
docker是容器引擎;
docker是一个开源项目,2013诞生,基于google公司的go语言实现;

安装操作docker:

uname -a

ip add

cat /etc/redhat -release

ping baidu.com

安装epel源:
yum install epel-release -y

查看可安装的包:
yum list docker-ce  --show-duplicates

yum install -y yum-utils

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum list docker-ce --show-duplicates

yum install docker-ce

systemctl enable docker

 

vi /etc/docker/daemon.json
{
"graph":"/data/docker",
"storage-driver":"overlay2",
"insecure-registries":["registry.access.redhat.com","quay.io"],
"registry-mirrors":["https://q2gr04ke.mirror.aliyuncs.com"],
"bip":"172.7.5.0/24",
"exec -opts":["native.cgroupdriver=systemd"],
"live-restore":true
}

systemctl start docker

ps aux|grep docker

docker info
docker run hello-world
镜像--容器--仓库
dockerhub.com
docker login docker.io
username/password
docker search alpine
docker pull alpine

镜像操作:
docker images  查看本地镜像
docker tag 965ea09ff2eb docker.io/dennysjchen/alpine:v3.10.3 镜像打标签
docker push docker.io/dennysjchen/alpine:v3.10.3 推送本地镜像到服务器
docker rmi docker.io/dennychen/alpine:latest 删除镜像
docker rmi -f 965ea09ff2eb 删除本地镜像

容器操作:
docker ps -a 查看本地容器
docker run 启动容器

docker run -ti dennysjchen/alpine:latest /bin/sh

docker run --rm dennysjchen/alpine:latest /bin/sh

 


docker images|grep alpine
docker exec -ti 965ea09ff2eb 进入容器

docker stop 965ea09ff2eb  停止容器

docker start 965ea09ff2eb 启动容器

docker restart 965ea09ff2eb 重启容器


docker rm 965ea09ff2eb 删除容器

docker rm  -f  965ea09ff2eb  //-f 强制删除容器

for i in 'docker ps -a|grep -i exit|awk '{print $1}''; do docker rm -f $i;done  //强制删除所有已经退出的容器

高级操作:
映射端口:docker run -p 容器外端口:容器内端口: docker run --rm --name mynginx -d -p81:80 dennysjchen/nginx:v1.12.2   //80是容器里的端口,81是宿主机的端口,外网访问的端口

docker pull nginx:1.12.2

docker tag 4037a5562b03 dennysjchen/nginx:v1.12.2

docker run --rm --name mynginx -d -p81:80 dennysjchen/nginx:v1.12.2

curl 127.0.0.1:81

http://1.116.128.190:81/


挂载数据目录(容器目录和服务器目前连接):docker run -v 容器外目录:容器内目录

docker run -d --rm --name nginx_with_baidu -d -p82:80 -v/root/html:/usr/share/nginx/html dennysjchen/nginx:v1.12.2

 

发布.netcore:

docker run -d -p 8081:80 -v /vip/pulish:/app --workdir /app mcr.icrosoft.com/dotnet/core/aspnet dotnet /app/website.webproject.dll

docker 下配置文件的扩展名要小写 log4net.Config(log4net.config)

 

docker logs
传递环境变量:docker run -e 环境变量key=环境变量value :docker run -rm -e E_OPTS=abc -e E_OPTS=123 dennychen/alpine:lastest printenv
容器内安装软件:yum/apt-get/apt

docker pull nginx:v1.12.2

 

------docker demo----

docker run -d --name a1pine1 dennysjchen/alpine:latest /bin/sh //启动容器

docker exec -it e5e7bdcb1d54  /bin/sh  //进入容器

pwd

ls

echo hello >1.txt

cat 1.txt

exit

docker commit -p e5e7bdcb1d54 dennysjchen/alpine:v3.10.3_with_1.txt

docker images

docker run -it dennysjchen/alpine:v3.10.3_with_1.txt //have 1.txt

docker load

docker save

docker inspect

docker version