工夫那么贵重哪有一个小时学习一个新的技能!那么十分钟呢?本文记录工作中须要疾速应用
docker
的几个场景,真正帮你十分钟入门!
-
场景一:理解何为 Docker
如果你不太理解 Docker,还是本人搜一下吧,本文基于你至多晓得 Docker 干啥用的;Docker 是通过规范的配置文件来发明对立的开发或者生产环境的一个工具,其外围就是镜像(曾经配置好了各种环境)。
-
场景二:配置 Docker 国内镜像
没啥好说的,间接上办法
如果你是装置的 Mac 或者 Windows 客户端都能够依照图所示配置镜像地址
Linux 下:
# vi /etc/docker/daemon.json
{"registry-mirrors": ["http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn"]
}
# 而后依据你是 Ubuntu 还是 Centos 等其余零碎,重启 docker 服务即可
-
场景三:疾速查找、下载你须要的 Docker 环境
# 查找环境(前面的 `--no-trunc` 是为了残缺输入形容信息)# 你也能够去 `https://hub.docker.com/` 网站搜寻,搜寻性能更弱小 docker search mysql --no-trunc # 搜寻某个镜像的 tags(这个 docker 并未提供原生命令,解决方案都是利用 docker 提供的凋谢 api 进行搜寻,或者去 `https://hub.docker.com/` 查阅 # 本命令来自 `https://stackoverflow.com/questions/28320134/how-can-i-list-all-tags-for-a-docker-image-on-a-remote-registry`) wget -q https://registry.hub.docker.com/v1/repositories/ubuntu/tags -O - | sed -e 's/[][]//g' -e 's/"//g'-e's/ //g'| tr'}''\n' | awk -F: '{print $3}' # 下载某个镜像 docker pull mysql # 下载某个特定 `tags`(通常是版本号)的镜像,强烈建议制订 `tags` 下载,尤其是生产环境 docker pull mysql:8.0 # 删除某个镜像 docker rmi mysql
-
场景四:基于某个镜像创立、运行并进入容器
# 查看所有容器 docker ps -a # -a 参数能够查看已进行运行的容器 # 基于某个镜像创立容器并运行 docker create -it --name='ubuntu-20' ubuntu # 参数 `-it` 标识了能够反对规范输入输出,通常一起应用 `--name` 为该容器起个名字,强烈建议肯定起一个独立名字 docker start ubuntu-20 # 启动该容器 docker exec -it ubuntu-20 /bin/bash # 在该容器运行交互命令行工具,即可进入容器 # 疾速创立并运行 # 这是一条整合命令,相当于下面的三条,特地留神,如果不增加 `-d` 参数,运行后间接进入到容器交互模式,如果此时 exit 退出,则容器会主动进行,`-d` 是保障后盾运行 docker run -it -d --name='ubuntu-20' ubuntu /bin/bash # 容器操作是 docker 中最简单的性能,须要多多学习钻研
场景五:映射本地端口及文件目录
# Docker 最外围的性能就是代替宿主机运行咱们的服务(尤其是微服务),所以要凋谢端口给外界可能拜访,开发环境中还要凋谢目录不便代码及配置共享,调试公布镜像 # `-P` 主动映射所有凋谢的端口, 映射多个间接指定多个 `--expose` 参数即可 docker run -it -d -P --name=port-test --expose=8000 --expose=8001 ubuntu /bin/bash # `-p` 指定端口映射 docker run -it -d -p 8000:8000 --name=port-test ubuntu /bin/bash # 查看容器映射的端口 docker port port-test # 8000/tcp -> 0.0.0.0:55002 # 8000/tcp -> :::55002 # 映射目录 Docker 提供了两个参数,别离是不同的形式,其中 `-v` 足够平时开发调试应用,如果是应用更加欠缺的文件治理,请应用 `--mount` 参数,这里只记录下 `-v` 的应用:docker run -it -d -v /path/to/source/test:/www --name=share-test ubuntu /bin/bash # 进入容器后,可发现 `/www` 可拜访