Docker使用
1,Linux 安装
卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
设置存储库
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
安装decker
yum install docker-ce docker-ce-cli containerd.io
启动
systemctl start docker
开机自启
systemctl enable docker
测试
docker run hello-world
docker run 执行流程
- 首先在指定镜像上创建一个可写的容器层
- 然后使用指定的命令(COMMAND)启动它
- docker run 相当于执行了两个 API:/containers/create、/containers/(id)/start
option | 作用 |
---|---|
-i | 以交互模式运行容器,通常与 -t 同时使用 |
-t | 启动容器后,为容器分配一个命令行,通常与 -i 同时使用 |
-v | 目录映射,容器目录挂载到宿主机目录,格式: <host目录>:<容器目录> |
-d | 守护进程,后台运行该容器 |
-p | 指定端口映射,格式:主机(宿主)端口:容器端口 |
-P | 随机端口映射,容器内部端口随机映射到主机的端口 |
-u | 以什么用户身份创建容器 |
–name “nginx-lb” | 容器名字 |
-m, –memory bytes | 设置容器使用内存最大值 |
-h, –hostname string | 指定容器的 host name |
–dns 8.8.8.8 | 指定容器 dns 服务器 |
-e username=”ritchie” | 设置环境变量 |
–restart | Docker 重启后,容器是否自动重启 |
–privileged | 容器内是否使用真正的 root 权限 |
-p 的三种写法
# 运行容器镜像
docker run -p ip:主机端口:容器端口
docker run -p 主机端口:容器端口 (常用)
docker run -p 容器端口
# 查看镜像
https://hub.docker.com/
# 查找镜像
docker search rabbitmq
NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否 docker 官方发布
stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
AUTOMATED: 自动构建。
# 拉取镜像
docker pull ubuntu:13.10
# 查看运行容器
docker ps
# 查看所有容器
docker ps -a
# 停止容器
docker stop 容器ID
# 重启
docker restart 容器ID
# 查看已安装容器
docker images
# 启动容器并进入
docker run -it ubuntu /bin/bash
# 进入容器 从这个容器退出,容器不会停止
docker exec -it 容器ID /bin/bash
# 退出容器
/# exit
# 删除容器
docker rm id
# 删除镜像 -- 删除镜像前需要先删除占用的容器
docker rmi hello-world/id
# 查看容器日志
docker logs container-name/container-id
# 编译镜像
docker build -t 镜像名 Dockerfile文件路径
#文件传输
docker cp 容器id:容器中文件地址 宿主机路径
https://www.jianshu.com/p/dd59ce73f46e
docker search mysql
docker pull mysql
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql -d mysql
-p用来做端口映射 -e 用来做参数配置 --name为容器其一个别名 -d让应用在后台运行
把redis.conf 复制到服务器 /etc/redis/redis.conf 创建/etc/redis/data
docker run -p 6379:6379 --name redis -v /etc/redis/redis.conf:/etc/redis/redis.conf -v /e/redis/data:/data --restart=always -d redis redis-server /etc/redis/redis.conf
2,windows安装
3,DockerFile
日夜颠倒头发少 ,单纯好骗恋爱脑 ,会背九九乘法表 ,下雨只会往家跑 ,搭讪只会说你好 ---- 2050781802@qq.com