dokcer学习01--docker安装(MacOS)与基本命令

1.Dokcer安装

我使用的是MacOS 10.13版本,通过docker官网下载的docker desktop提示不支持我的系统,因为我的系统太旧了。

因此尝试使用Homebrew来安装,经过一番波折,最终安装成功。安装方式如下:

1.1安装或更新Homebrew

首先安装或更新Homebrew,我运行:

brew update

提示无法连接:Failed to connect to raw.githubusercontent.com port 443: Connection refused

尝试了几种网上提供的方案都无法解决,于是使用Gitee重新安装Homebrew,参考地址:https://gitee.com/cunkai/HomebrewCN

运行脚本:

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

会重新安装Homebrew,并把原来的文件备份到桌面上(起一个名为"Old_Homebrew"的文件夹)。

经过这一番折腾,Homebrew总算可以正常使用了。

1.2使用Homebrew下载并安装docker desktop

下面使用Homebrew Cask来安装dokcer,命令如下:

brew cask install docker

下载,安装需要等待一段时间。安装完毕后,系统应用中就有了docker desktop应用程序。

在终端运行查看docker版本的命令:

docker -v

得到信息为:Docker version 20.10.0, build 7287ab3

至此,docker安装成功。

  

2.docker基本命令

2.1镜像相关命令:

当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载。

本文下载镜像使用http://hub.daocloud.io/下载镜像。

(1)下载镜像:

docker pull ubuntu:13.10

命令解释:镜像名称:版本号,如果不采用默认的镜像站点,而是指定镜像(daocloud镜像源),可以使用如下格式:

docker pull daocloud.io/library/tomcat:8.5.15-jre8

 (2)列出镜像列表:

docker images

(3)删除镜像:

docker rmi 镜像id(IMAGE ID)

(4)镜像导入/导出:

将本地镜像导出:

#导出
docker save -o 导出路径 镜像id

#导入
dokcer load -i 导入路径

#修改镜像名称(NAME)和版本(TAG)
docker tag 镜像id 名称:版本

2.2容器相关命令:

(1)运行容器:

#简单命令
docker run 镜像id|镜像名称[:版本]

#常用参数
docker run -d -p 80:80 docker/getting-started
docker run -d -p 8080:8080 --name tomcat b8dfe9ade316

 命令解释:

-d:后台执行,

-p:指定端口 宿主机端口:容器端口,

--name:容器名称,

-i :交互式操作,

-t:终端

/bin/bash:进入容器的bash

 

(2)查看容器列表:

docker ps [-aq]

命令解释:

默认无参数:列出所有运行的容器

-a:列出所有容器,包括没运行的

-q:只列出容器id

(3)查看容器日志:

docker logs -f 容器id

名称解释:

-f:滚动查看日志最后内容

(4)进入到容器内部:

docker exec -it 容器id /bin/bash

(5)删除容器:(删除容器之前需要先停止容器)

#停止容器
dokcer stop 容器id

#停止全部容器
docker stop $(docker ps -qa)

#删除指定容器
docker rm 容器id

#删除全部容器
docker rm $(docker ps -qa)

(6)启动容器:

docker start 容器id

(7)将宿主机的文件复制到容器内:

docker cp 宿主机文件路径 容器id:容器内部文件路径

(8)数据卷Volume:将宿主机的目录映射到容器中的目录中,可以在宿主机中直接管理容器中的文件

创建数据卷:

docker volume create 数据卷名称
#创建数据卷之后,默认会存放在: /var/lib/docker/volumes/数据卷名称/_data

查看数据卷信息:

docker volume inspect 数据卷名称

查看全部数据卷:

docket volume ls

删除数据卷:

docker volume rm 数据卷名称

数据卷的使用:

#当映射数据卷时,如果原来不存在,则会自动创建
docker run -v 数据卷名称:容器内路径 镜像id

#指定一个路径作为数据卷的存放位置
docker run -v 宿主机路径:容器内路径 镜像id
原文地址:https://www.cnblogs.com/asenyang/p/14154231.html