查看docker 版本:docker version
查看各镜像版本:docker search xxx
拉取镜像:docker [image] pull xxx[:version] (默认拉取最新版)
拉取指定仓库镜像:docker pull ip:5000/name
查看已安装的镜像:docker images,docker image ls
查看运行中的容器:docker ps
查看运行过的容器:docker ps -a
删除镜像:docker rmi name
开启自动启动容器:docker update containerId --restart=always
ubuntu启动docker:
systemctl start docker
systemctl daemon-reload
systemctl start docker.service
运行容器:
nginx: docker run -itd --name my_nginx -p 80:80 \
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/nginx/log:/var/log/nginx \
-v /data/nginx/html:/usr/share/nginx/html \
-v /data/nginx:/data/nginx \
nginx
mysql: docker run --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
进入mysql 容器:docker exec -it mysql8(id或名称) bash
redis: docker run -itd --name redis -p 6378:6379 \
-v /data/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /data/redis/data:/data \
redis-server /etc/redis/redis.conf \
--appendonly yes \
redis
进入reids容器: docker exec -it reids /bin/bash
java: docker run -it --name javatest -v /opt/:/opt -d java 启动并挂载目录
安装mysql8:
1,查找镜像:docker search mysql
2,拉取镜像:docker pull mysql(默认拉去最新),docker pull mysql:8.0
3,安装运行:docker run --name mysqltest \ -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root \ -d mysql
4,进入容器:docker exec -it mysqltest bash
5,查看msyql配置文件路径:mysql --help | grep my.cnf
6,查看容器信息:docker inspect xxxx
7,创建挂载目录:mkdir -p /home/docker/mysql/conf && mkdir -p /home/docker/mysql/datadir
8,拷贝msyql 配置,到主目录:docker cp mysqltest:/etc/mysql/my.cnf /home/docker/mysql/conf
9,停止旧容器,启动新容器:docker run --name mysql8 \ -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root \ --mount type=bind,src=/home/docker/mysql/conf/my.cnf,dst=/etc/mysql/my.cnf \ --mount type=bind,src=/home/docker/mysql/datadir,dst=/var/lib/mysql \ --restart=on-failure:3 \ -d mysql:8.0
删除容器:docker rm [-f] id
停止容器:docker stop id
启动一个停止的容器:docker start id
重启容器:docker restart id
导出容器快照:docker export id >xxx.tar
导入快照xxx.tar到test/ubuntu:v1镜像:cat docker/xxx.tar | docker import - test/ubuntu:v1
创建镜像基于Dockerfile: docker build -t name .
推荐镜像源:/etc/docker:{"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"]}
查看容器实时日志:docker logs -f id
进入容器:docker exec -it xxx bash
安装本地镜像源仓库:
1,拉取镜像:docker pull registry
2,创建本地仓库目录:mkdir /usr/local/docker_registry
3,启动容器:docker run -d -p 5000:5000 --name=jackspeedregistry --restart=always --privileged=true -v /usr/local/docker_registry:/var/lib/registry docker.io/registry
解释:
-p 5000:5000 端口
--name=jackspeedregistry 运行的容器名称
--restart=always 自动重启
--privileged=true centos7中的安全模块selinux把权限禁止了,加上这行是给容器增加执行权限
-v /usr/local/docker_registry:/var/lib/registry 把主机的/usr/local/docker_registry 目录挂载到registry容器的/var/lib/registry目录下,假如有删除容器操作,我们的镜像也不会被删除
docker.io/registry 镜像名称
查看镜像列表:curl http://ip:5000/v2/_catalog
国内加速地址有:
Docker中国区官方镜像
https://registry.docker-cn.com
网易
http://hub-mirror.c.163.com
ustc
https://docker.mirrors.ustc.edu.cn
中国科技大学
https://docker.mirrors.ustc.edu.cn
阿里云容器 服务
https://cr.console.aliyun.com/
切换镜像源:修改或新增/etc/docker/daemon.json
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://cr.console.aliyun.com","http://localhost:5000"] }