docker 基础学习及相关命令使用

一、安装

Centos8安装docker
https://developer.aliyun.com/article/753261 参考

若以前安装过
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-ce \
                  docker-engine
			
安装yum-utils
yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2 
 
添加阿里仓库
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker
yum install docker-ce docker-ce-cli containerd.io

启动docker 及查看
systemctl start docker
systemctl status docker
docker -v 

配置镜像加速器
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

二、docker 基本操作

1、镜像操作

	docker pull 拉取镜像
	docker images 查看
	docker rmi 删除 nginx:latest / images_id
	docker push 推送
	docker build 本地构建
		docker build -t userservice:1.0.1 . 
	
	docker --help 查看命令
	
	docker save -o name.tar nginx:latest 打包镜像
	docker load -i name.tar  加载镜像

2、容器操作

docker run  运行
	docker run --name nginx1 -p 80:80 -d nginx
docker ps 查看运行容器
	-a 查看所有容器
	
docker logs 查看日志
	docker logs nginx1
	docker logs -f nginx1

docker pause 暂停
docker unpause 恢复

docker start 启动
docker stop 停止 杀掉进程 
	docker stop nginx1

docker rm 删除容器
	docker rm nginx1 
	-f 强制删除运行中的容器

docker exec 进入容器执行命令
	docker exec -it nginx1 bash 

3、数据卷

docker volume --help
	create 创建
	inspect 查看详细信息
	ls  查看
	prune 删除未使用
	rm 删除

挂载数据卷
docker run --name nginx1 -p 80:80 -v html:/usr/share/nginx/html -d nginx

挂载目录
-v /tmp/dd/dd:/tmp/dd/dd
-v /tmp/dd/dd.txt:/tmp/dd/dd.txt

4、通过docker 安装mysql、redis 、nginx

docker run --name nginx1 -p 80:80 -v html:/usr/share/nginx/html -d nginx
docker run --name mysql -p 3306:3306  -e MYSQL_ROOT_PASSWORD=123456 -v /etc/mysql/data:/var/lib/mysql -v /etc/mysql/data/my.cnf:/etc/mysql/conf.d/my.cnf -d mysql
docker run --name redis1 --privileged=true --restart always -p 6379:6379 -d redis --appendonly yes

5、DockerCompose 基于compose 文件帮助我们快速部署分布式引用

sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose
或者下载对应文件,上传linux 机器 cp  docker-compose-linux-x86_64 /usr/local/bin/docker-compose
 
sudo chmod +x /usr/local/bin/docker-compose

dockerRegistry 镜像仓库
使用docker-compose 方式安装
version: '3.0'
services:
  registry:
    image: registry
    volumes:
      - ./registry-data:/var/lib/registry
  ui:
    image: joxit/docker-registry-ui:latest
    ports:
      - 8080:80
    environment:
      - REGISTRY_TITLE=XIAOCG
      - REGISTRY_URL=http://registry:5000
    depends_on:
      - registry

忽略https 认证
vim /etc/docker/daemon.json

在json内容里面添加
insecure-registries:["http://xxx.xx.x.x:8080"]

docker-compose up -d 

6、自定义构建镜像

Dockerfile 文件命令说明

FROM # 指定创建镜像的基础镜像
ENV # 使用环境变量
COPY # 复制文件到镜像内部使用
RUN # 运行Linux系统的命令使用
EXPOSE # 指定镜像容器监听端口号;发布服务使用
ENTRYPOINT # 指定运行容器启动过程执行命令,覆盖CMD参数

编写Dockerfile 文件
FROM openjdk:11
COPY ./demo-0.0.1-SNAPSHOT.jar /tmp/app.jar
EXPOSE 8099
ENTRYPOINT java -jar /tmp/app.jar

把jar包和Dockerfile 放在同一目下 执行 docker build -t demo:1.0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值