怎样快速入门Docker,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
我们以使用Docker的方式安装MySQL为例,快速体会Docker的基本操作
1、下载镜像 docker pull mysql
#我们应该先去Docker Hub寻找我们感兴趣的镜像 docker pull image_name[:Tag] #1、tag一般为镜像的版本,不指定默认下载latest版本 #2、默认镜像是从Docker Hub下载,国内比较慢,推荐使用自己的阿里云加速 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
以上下载过程看出,镜像是分层的(Layer)。c499e6d256d6是当前层的唯一id(完整的id为256bit,64个十六进制字符组成)。
不同的镜像如果有相同的层,本地只会存储一份,减小了存储空间
严格说,下载镜像需要制定指定仓库名称,不过从Docker Hub下载的可以忽略前缀。如
- docker pull **docker.io/library/**mysql:5.7
2、列出镜像 docker images
docker images
REPOSITORY:来源于哪个仓库
TAG:镜像版本标签信息
IMAGE ID :镜像唯一id
CREATED:镜像最后更新时间
SIZE:镜像大小
3、查看详情 docker inspect
docker inspect image_name[:tag] docker inspect image_id
4、删除镜像 docker rmi
docker rmi image_name[:tag] 或者 docker rmi image_id
5、理解镜像
1、疑问一:
Docker每一个容器都是一个完整的这个应用的运行环境。所有应用最起码的基本环境是linux
SB微服务做成镜像。基本环境就是java环境,
如果我下载了100个镜像,启动了100个容器。100个linux在运行?
UFS:特点;git。增量记录文件改变。分层系统。需要经常读写变化的,只在变化层。
2、容器操作
1、启动容器
#docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 常用选项 -d 守护态运行 -p Publish a container's port(s) to the host ( container和host端口映射) -i 以交互模式运行容器,通常与 -t 同时使用 -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用 --name="nginx-lb" 为容器指定一个名称 -v, --volume value Bind mount a volume (default [])
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name hello-mysql mysql:5.7 #查看所有运行中的容器 docker ps #查看所有容器 docker ps -a
#docker create 和 docker run的区别 docker create -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name hello-mysql mysql:5.7 #create新建容器,run新建并启动。create相当于 run -d设置
2、进入容器
#docker exec [OPTIONS] CONTAINER COMMAND [ARG...] #Run a command in a running container docker exec -it hello-mysql /bin/bash #尝试连接MySQL mysql -uroot -p123456
#扩展 docker exec -d hello-mysql touch /hello.txt docker exec -it hello-mysql mysql -uroot -p #删除 docker rm container_id/container_name #查看运行日志 docker logs container_id/container_name
3、其他命令 Docker 命令手册
5、可视化 Portainer(先用这个)
docker run -d -p 8088:9000 \ --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
Rancher(CI/CD再用这个)
#安装rancher-server docker run --name rancher-server -p 8000:8080 -v /etc/localtime:/etc/localtime:ro -d rancher/server #安装agent docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.11 http://39.101.191.131:8000/v1/scripts/D3DBD43F263109BB881F:1577750400000:7M0yBzCw4XSxJklD7TpysYIpI
关于怎样快速入门Docker问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。