docker上手尝试

  • Namespace:用于隔离资源

  • Cgroups:用于限制资源

  • chroot (英文全称:change root): 命令用于改变根目录。

1、docer安装和hello-world使用

安装:sudo yum install docker
启动:sudo systemctl start docker
第一个:hello-world: sudo docker run hello-world
删除安装包:yum remove docker
删除镜像、容器、配置文件等内容:rm -rf /var/lib/docker

Centos安装Docker:

复制代码
#Docker的旧版本被称为Docker或Docker -engine。如果安装了它们,请卸载它们以及相关的依赖项。

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

#安装所需要的包
sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

#设置仓库
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

#安装docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io

#启动 docker
sudo systemctl start docker


#设置 docker 开机自启动

 sudo systemctl enable docker
复制代码

 常用命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
docker search 镜像名称 //搜索镜像
docker pull 镜像名称:版本号 //拉取对应版本的镜像
docker pull 镜像名称 //默认拉取最新的镜像
docker images //查看本地已下载的镜像
docker ps //查看正在运行的容器
docker ps -a //查看所有的容器(包括run、stop、exited状态的)
docker container ls //查看正在运行的容器
docker rm 容器ID //只能删除没有在运行的容器
docker rm -f 容器ID //可以删除正在运行的容器
docker run -p 本地主机端口号:容器服务端口号 --name 容器名字 [-e 配置信息修改] -d 镜像名字
docker start 容器ID //启动容器
docker stop 容器ID //终止容器
docker rmi 镜像名称orID //删除镜像

  

2、修改镜像源

在/etc/docker文件夹下有一个daemon.json的文件,在文件中添加响应的配置,就可修改镜像源

[root@zjl docker]# cat daemon.json 

{
"debug":true,"experimental":true,
"registry-mirrors":["https://wxu4dyl.mirror.aliyuncs.com","https://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]
}

修改后记得重新加载,然后重启

sudo systemctl daemon-reload
sudo systemctl restart docker

查看配置是否成功,可以通过命令行docker info查看

 

 

 3、测试镜像Nginx

(1)、可以使用docker search nginx去对应的镜像源中查找镜像

 

 

 (2)、也可以到docker hub上查找对应的镜像

 

 

 (3)、拉取镜像

1
docker pull nginx:latest

  latest表示拉取最新版本

 

 

 (4)、查看镜像 docker images 查看所有的镜像

 

 

 (5)运行容器跑镜像 

1
2
3
4
5
6
7
docker run --name nginx-test -p 8080:80 -d nginx
 
run:运行
--name:容器的名称
-p:端口的映射
-d:后台运行程序
nginx:表示容器中的镜像

  

 

 

 (6)、查看容器的打印日志:根据容器的容器id打印对应的日志

 

 (7)、查看运行的容器及对应的状态 

1
docker ps -a //查看所有的运行容器

  

 

 可以根据自己需求查找对应的容器

 (8)查看对应容器

 

(9)删除对应容器

查看容器状态

 

 删除容器操作

1
2
3
4
5
6
7
docker rm $(docker ps -a | grep Exited | awk '{print $1}')
 
 
 
docker rm :删除容器,接容器id
 
docker ps -a | grep Exited | awk '{print $1}' :查找匹配对应的容器并输出容器id

  删除过程结果如下:

 注:以上只是删除对应的容器,没有删除对应的镜像

(10)创建一个简单的jar包镜像

 

复制代码
//创建一个文件夹,里面包含需要打包的jar包和打包的Dockerfile
#底层依赖
FROM java:8  
#添加运行的文件 文件名 和 在镜像内的文件名
 ADD booksalon.jar /test.jar
#暴露端口,该端口是容器的的端口
EXPOSE 12138
#镜像执行的操作
ENTRYPOINT ["java","-jar","/test.jar"]
复制代码

 

 

 

#打包镜像
docker build -t test.jar .


docker build :打包镜像命令
-t:对应镜像tag的标签
.:代表打包的路径(Dockerfile的路径)单独的(.)代表当前路径

 

posted @   代码红了一大片  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示