docker
官网
docker.com
centos7安装docker
- 安装依赖软件包
yum install -y yum-utils
device-mapper-persistent-data
lvm2
- 配置源地址
yum-config-manager
–add-repo
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安装Docker Engine-Community和containerd
yum install docker-ce docker-ce-cli containerd.io
yum list docker-ce --showduplicates | sort -r
yum install docker-ce-3:18.09.1-3.el7 docker-ce-cli-3:18.09.1-3.el7 containerd.io
- 启动docker
systemctl start docker
- 运行docker hello world
docker run hello-world
docker镜像加速
- 在 /etc/docker/daemon.json写入下列内容(文件不存在则创建) 使用阿里镜像加速
{"registry-mirrors":["https://**.mirror.aliyuncs.com/"]}
-
重新启动服务
systemctl daemon-reload
systemctl restart docker
-
检测配置是否成功
```
$ docker info
Registry Mirrors:
https://reg-mirror.qiniu.com
```
docker常用命令
//运行的容器实现"对话"的能力:
docker run -i -t container
//后台模式启动容器
docker run -d container
// 查看正在运行的容器
docker ps
// 显示所有容器
docker ps -a
docker rm container
docker rmi image
docker rm -v container //删除容器挂载的数据卷
docker exec -it 43c32535da7 /bin/bash //进入一个容器
docker pull ubuntu
docker pull mysql
docker system df
docker system info
docker system events
docker system prune
//查看容器内的标准输出
docker logs
> docker images
> docker version
> docker info
使用dockerfile制定镜像
CMD 在docker run 时运行。
RUN 是在 docker build。
// demo
FROM openjdk:8u292-oraclelinux7
MAINTAINER kwen
COPY identity-0.0.1-SNAPSHOT.jar /home/identity/identity.jar
ENTRYPOINT ["java","-jar","/home/identity/identity.jar"]
docker 启动nginx
docker run --name nginx4test \
-v /home/test/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/test/nginx/html:/usr/share/nginx/html \
-v /home/test/nginx/log:/var/log/nginx \
-v /home/test/nginx/ssl:/etc/nginx/ssl \
-p 8080:80 \
-d nginx
docker 启动mysql
docker run --name mysql -v /home/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 --user 1000:1000 -d mysql:5.7.34 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
docker启动指定 java虚拟机内存
-e JAVA_OPTS="-Xms512m -Xmx512m"
docker hub 镜像仓库
- 下载镜像启动 docker pull registry
- 运行实例:
docker run -d -v /edc/images/registry:/var/lib/registry
-p 5000:5000
--restart=always
--name xdp-registry registry
- 客户端配置 vim /etc/docker/daemon.json
{
...
//增加信任设置
"insecure-registries" : [ "your-server-ip:5000" ]
}
- systemctl restart docker
- 为要上传的镜像打Tag: docker tag your-image-name:tagname your-server-ip:5000/your-image-name:tagname
- 上传镜像到服务端镜像仓库: docker push your-registry-server-ip:5000/your-image-name:tagname
总结
- 项目代码docker版 push到私有仓库 (使用统一的依赖版本,如jdk8等,可以有效减少镜像占用的硬盘空间大小)
- 下载镜像启动