手机扫一扫访问本页内容

微信扫描点右上角"···"分享到好友或朋友圈

关闭
微信扫一扫可打开小程序

微信长按图片或搜“分享录”可打开小程序

关闭
Docker,教程

在Mac、Windows、Linux上安装Docker以及常用的操作命令

本文将图文讲解如何在Mac、Windows、Linux上安装docker,最后会附上一些实用的操作命令。值此新春佳节来临之际,博主借此篇随便给大家拜个早年,祝大家身体健康,万事如意,心想事成!

之前的《初识Docker》我已经带大家总体认识docker了,现在大家对docker应该不陌生了吧,还不知道的自己点开链接再去了解一下。Mac和Windows要先到官网下载Docker Desktop,下载被强制要求要先登录docker hub账号:

下载完分别到对应的系统去安装:

Mac:

这里以macOS Catalina 10.15.2来讲解:

双击后把Docker.app拖到右边的Applications:

很快一下子就安装好了:

然后在启动台里面会多了个docker图标,直接点开它:

接着提示安装网络组件直接点OK输入密码授权安装:

启动的时候提示登录docker hub,可以登录刚刚下载时登录的账号也可以点x关闭掉:

然后打开终端输入docker version看到以下信息证明你已经安装成功了:

然后可以查看镜像(docker images)、搜索镜像(docker search hello)、拉镜像(docker pull hello-world),注意拉镜像有OFFICIAL [OK]的优先拉那个:

接着运行镜像(docker run hello-world)、查看容器(docker ps -a,加-a表示查看所有容器,去掉-a直接查询正在运行的容器)、删除容器(docker rm CONTAINER ID/IMAGE,你会发现我的ID并没有写全,因为那几个字符串已经可以作为唯一标识了)、删除镜像(docker rmi REPOSITORY/IMAGE ID):

最后退出docker直接点上面菜单栏docker图标下面的Quit Docker Desktop就行了:

Windows:

这里是以Windows 10企业英文64位版来介绍的,点Yes会提示在下载相关的安装包:

这里默认用Linux容器它提示后续也可以改动:

然后提示在解压文件中:

然后就在安装中:

然后点关闭并重启(注意会重启系统的哦,没保存的东西先保存一下):

其实这是我第一次在Windows上安装,重启系统后等了半天右下角图标一直显示starting,win+r输入cmd查看一下提示没启动服务端,最后提示Hyper-V虚拟机没运行:

在开始菜单右键点打应用和功能:

拉到下面点相关设置下面点应用和功能打开开开启或关闭功能:

然后把Hyper-V钩上安装完重启:

重启后docker就能正常启动了

其他操作参考上面Mac下的操作,需要注意的是物理机上的Windows还要进入BIOS开启虚拟化技术,具体百度一下。

Linux:

这里以CentOS 7.7版本的Linux来讲解:

先把yum 包更新到最新: yum -y update

然后安装需要的依赖包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的: yum install -y yum-utils device-mapper-persistent-data lvm2

设置yum源,并更新 yum 的包索引,国内网络可能不行可以用阿里的(yum-config-manager –add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo)但可能不是最新或者有可能被修改过出问题,如果网络没问题直接用官方的(yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo),然后查看所有仓库中所有docker版本:

接着安装docker:yum install docker-ce

启动(systemctl start docker,可以用systemctl enable docker设置开机自动启动docker)和查看docker版本信息:

查看docker状态信息(service docker status)、关闭(systemctl stop docker)、重启(systemctl restart docker):

卸载docker: yum -y remove docker-engine

yum remove docker-* 

删除目录:

rm -rf /var/lib/docker

rm -rf /var/lib/docker-engine

最后附上常用的docker操作命令:

搜索镜像: docker search java

下载镜像: docker pull java

查看已下载镜像: docker images

删除指定镜像: docker rmi java

查看运行中的容器: docker ps

查看所有容器: docker ps -a 

删除容器(只能删除已停止的容器,如需删除正在运行的容器,后面加-f参数): docker rm 7b739cc26085

运行容器docker run :

docker run -h 0.0.0.0 -p 3306:3306 –name mysql \

–privileged=true \

–hostname mysql \

-v /etc/localtime:/etc/localtime \

-v /opt/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456  -d mysql

其中:

–privileged=true: root权限

-v用来挂载目录: -v 宿主机目录:容器目录

-d: 后台运行容器,并返回容器ID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-P: 随机端口映射,容器内部端口随机映射到主机的高端口

-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

–name=mysql: 为容器指定一个名称;

–hostname :指定hostname;

–net=”bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

–ip:指定IP

–add-host :指定往/etc/hosts添加的host

–link mysql:mysql \  不要用这种,重启会有问题,官方推荐用network

–restart=always:重启docker自动运行运行容器

修改运行容器:docker container update 要增加的命令 容器名字,如重启docker自动运行mysql:docker container update –restart=always mysql

停止容器: docker stop f0b1c8ab3633

强制停止容器: docker kill mysql

启动已停止的容器: docker start mysql

查看容器所有信息: docker inspect mysql

查看容器日志: docker container logs mysql

查看容器里的进程: docker top f0b1c8ab3633

进入容器: docker exec -it f0b1c8ab3633 /bin/bash

重命名镜像: docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)

容器IP的查方法: 

docker inspect 容器ID或容器名 |grep ‘”IPAddress”‘

docker inspect –format='{{.NetworkSettings.IPAddress}}’ mysql

创建自定义的网桥网络:docker network create my-net

删除自定义的网桥网络:  docker network rm my-net

将正在运行的容器连接到现有用户定义的桥接网络:docker network connect my-net my-nginx

将正在运行的容器从现有用户自定义桥接网络断开:docker network disconnect my-net my-nginx

将自己的镜像推到Docker hub上(先登录再改镜像名最后push):

docker login

docker tag ee0a246ecd34 xubingtao/gitlab-ce:latest

docker push xubingtao/gitlab-ce:latest


展开阅读全文


上一篇:

下一篇:

您还可以访问本站的小程序、公众号等所有端,或者下载APP, 在小程序、APP上可以评论文章以及保存图片还有在线客服哦,如您有任何疑问或建议可向作者提出意见反馈
关注我的公众号每天为您分享各类有用信息
扫码打开小程序可评论文章保存图片,在“我的”有实时在线客服哦,看效果?
分享录多端跨平台系统
分享录交流群