centos上的docker学习笔记02
一、docker镜像下载地址
docker镜像的下载地址有很多,但是考虑在国内拉取国外的镜像源的话会很慢,所以建议使用国内的镜像源,如:
- 官方镜像站网址:https://hub.docker.com/
- 阿里云镜像站网址:https://cr.console.aliyun.com/
- 腾讯云镜像站网址:https://console.cloud.tencent.com/tke2/registry/qcloud
- daocloud 镜像站网址:https://daocloud.io/
但是镜像源找到之后,还需要配置镜像加速器,而配置加速器需要加速器地址。
我们需要在/etc/docker/daemon.json里面添加加速器地址,多个地址则用逗号隔开。
加速器网址如下:
#官方加速器地址
#https://registry.docker-cn.com
#腾讯云加速器地址
#https://mirror.ccs.tencentyun.com
#网易云加速器地址
#https://hub-mirror.c.163.com
阿里云和daocloud这两个的加速器地址需要登陆自己获取。
加速器示例
目录地址为:/etc/docker/daemon.json
代码如下:
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
如需多个加速器可以用逗号将网址隔开。
# 二、docker常用命令
docker日常比较常用的一些命令。
#查看docker运行状态
#docker info
#下载镜像
#docker pull
#登陆仓库
#docker login
#为本地要上传的镜像打上标签
#docker tag
#上传镜像
#docker push
#退出仓库
#docker logout
#查看本机中所下载的镜像
#docker images
#查看所有镜像ID
#docker images -q
#查看镜像详情
#docker image inspect
#创建容器
#docker create
#运行容器
#docker start
#关闭容器
#docker stop
#重启容器
#docker restart
#创建并运行容器
#docker run
#查看运行状态中的docker容器
#docker ps
#查看所有docker容器
#docker ps -a
#查看所有docker容器ID
#docker ps -a -q
#删除容器
#docker rm
#删除镜像
#docker rmi
#给容器添加设置
#docker update
#修改容器名称
#docker rename
#查看容器的运行状态
#docker stats
#进入容器
#docker exec
#显示一个运行的容器里面的进程信息
#docker top
#暂停容器中所有的进程
#docker pause
#恢复容器内暂停的进程
#docker unpause
三、示例
代码如下(示例):
docker info 能够查看主机的容器运行状态个数,下载的镜像个数,docker版本号,文件系统类型等等非常详细。
docker pull 拉取代码时要从docker仓库里面获取镜像地址,拉取完成后会生成一个独立的ID。
docker login 可以在运行docker的主机上登陆你的仓库,登陆后就可以将本地的镜像上传到云端保存下来以便后续使用了。其中警告的意思是说:登陆的凭据没有加密会有风险的意思。但是拉取完之后我们可以退出登陆来删除凭据。
为要上传的镜像打上标签,也就是让仓库知道你要上传的是哪个镜像。
上传成功如图所示:
docker images 用来查看本机docker下载的所有镜像
加一个-q的参数就只会显示镜像的ID,经常用$调用进行删除操作。
docker image inspect 可以查看镜像的详细信息。
docker create 创建了一个容器,-it 参数是为了标准输入输出以及分配终端的,终端的作用就是交互,–p 则是做端口映射,将本地的8080端口映射到容器里的80端口上,–name 则是为容器起一个名字,后面则是你选择放置在容器里面的镜像,以及载入容器后运行的bash,不然容器启动后就会立刻被kill。(一般来说bash的种类有sh、bash等,选错种类会报错,状态码为344等情况。)报错信息如下:
Error response from daemon: OCI runtime create failed: container_linux.go:344: starting container process caused “exec: “/bin/bash”: stat /bin/bash: no such file or directory”: unknown
Error: failed to start containers: c27e01b4c344
docker start 后面可以用容器ID,也可以用容器名。
docker stop 后面可以用容器ID,也可以用容器名。
docker restart 后面可以用容器ID,也可以用容器名。
docker run 命令中的 -d 参数是将容器放入后台 -e MYSQL_ROOT_PASSWORD= 是设置数据库的root密码,如果不输入这条命令会报错。
docker ps 只看运行状态下的容器,未运行的容器则不显示。
docker ps -a 会显示所有状态下的容器。
docker -ps -a -q 中的 -q 参数会让终端只显示容器的ID。
docker rm 加上容器名或者容器ID,能够删除容器,但是注意只能删除未运行的容器,正在运行的容器不能删除。
docker rmi 加上容器名或者容器ID,能够删除镜像,建议使用容器ID进行删除,比较具有针对性。同样删除镜像前提是这个镜像没有容器在使用。
docker update 能够更新docker容器的设置,图中的–restart=always参数的意思是每次docker重启时容器也跟着重启,注意没设置这个参数的时候,**docker 每次重启的时候,docker的所有容器都会关闭。
docker rename 可以更改容器的名字。
docker stats 可以查看docker容器的运行状态。
docker exec 可以进入容器里面,对容器进行交互操作,-it 是要生成一个伪终端,后面是要指定运行的bash类型。只想断开和容器的连接而不关闭容器可以用:ctrl+p+q ,直接退出用:exit。
docker top 可以显示容器内进程的所有信息。
docker pause 可以暂停容器中的进程,但是使用unpause命令之后,暂停期间输入的命令还是会打印出来
docker unpause 可以继续运行容器中的进程,与docker unpause 对应。
总结
以上就是总结出来的常用的一些docker命令,但是还有很多参数没有说明,继续学习!!!