Docker 使用超详细(入门级)

博主目前在蚂蚁集团-体验技术部,AntV/S2 是博主所在团队的开源项目——多维交叉分析表格,欢迎使用,感谢到 S2 github 仓库点赞 star,有任何关于前端面试、就业、技术问题都可给在文章后留言。

本文是关于 Docker 的入门使用,若想进一步提升,欢迎学习Docker 使用超详细 (精通级)

一、安装Docker(Ubuntu)

帮助文档:Docker 官方安装文档(Ubuntu)

1. 卸载旧的 Docker 版本:

sudo apt-get remove docker docker-engine docker.io containerd runc

2. 利用 Docker 仓库安装,更新 apt 并安装需要的依赖库,用于通过 HTTPS 来获取仓库:

sudo apt-get update
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

3. 添加 Docker 的官方 GPG 密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥。

sudo apt-key fingerprint 0EBFCD88

4. 使用以下指令设置稳定版仓库:

sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ \
  $(lsb_release -cs) \
  stable"

5. 安装最新版本的Docker Engine-Community 和 containerd(也可安装指定版本)

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

6. 测试Docker 是否安装成功

sudo docker run hello-world

二、Docker 镜像常用命令

1. 显示 Docker 的版本信息:

docker version

2. 显示 Docker 的系统信息,包括镜像和容器的数量:

docker info

3. 查看本地主机上的所有镜像:

docker images

REPOSITORY:镜像的仓库源
IMAGE ID:镜像的ID
CREATED:镜像创建的时间
SIZE:镜像的大小
可选项:

-a # 列出所有的镜像
-q # 只显示镜像的ID
-aq # 只显示所有镜像的ID

4. 搜索镜像:

docker search

如:

docker search mysql # 搜索mysql镜像
docker search mysql --filter=STARS=3000 # 搜索 STARS 大于3000的 mysql 镜像

5. 下载镜像:

docker pull 镜像名[:tag] # 不加 tag,默认下载最新版的 latest

如:

docker pull mysql:5.7 # 下载 mysql(5.7版本) 镜像

6. 删除镜像:

docker rmi -f 镜像ID # 删除指定的镜像
docker rmi -f 镜像ID_1 镜像ID_2 镜像ID_3 # 删除指定的多个镜像
docker rmi -f $(docker images -aq) # 删除全部的镜像

三、Docker容器常用命令

有了镜像才可以创建容器

1. 创建容器:

docker run [可选参数] image

如:

docker run -itd --name python_gfh python:3.6.8 /bin/bash

参数说明:

--name # 指定容器名字
-d # 后台方式运行
-it # 使用交互方式运行,进入容器查看内容
-p # 指定容器的端口
	-p ip:主机端口:容器端口
	-p 主机端口:容器端口 # 常用
	-p 容器端口
-P # 随机指定端口

测试: 创建并进入容器:

docker run -it ubuntu:16.04 /bin/bash # 创建并进入容器 ubuntu

2. 从容器中退回宿主机:

exit # 直接退出并停止容器
ctrl + P + Q # 退出但不停止容器

3. 列出所有运行的容器:

docker ps # 列出当前正在运行的容器
docker ps -a # 列出当前正在运行的容器+历史运行过的容器
docker ps -n=? # 列出最近创建的容器,?表示个数
docker ps -q # 只显示容器编号

4. 删除容器:

docker rm 容器ID # 删除指定的容器,不能删除正在运行的容器
docker rm -f 容器ID # 强制删除

5. 启动、关闭和重启容器的操作:

docker start 容器ID # 启动指定容器
docker restart 容器ID # 重启指定容器
docker stop 容器ID # 停止当前正在运行的容器
docker kill 容器ID # 强制停止当前正在运行的容器

四、Docker容器常用命令

1. 查看容器中进程信息

docker top 容器ID # 查看容器中进程信息

2. 查看容器元数据

docker inspect 容器ID # 查看容器中进程信息

3. 进入正在运行的容器

方式一:进入容器后开启一个新的终端,可以在里面操作(常用)

docker exec -it 容器ID bashShell

方式二:进入容器正在执行的终端,不会启动新的进程

docker attach 容器ID

4. 拷贝容器内文件到宿主机上(在容器外执行)

docker cp 容器ID:容器内路径 宿主机文件路径 # 容器ID换成容器名也可以

5. 拷贝宿主机的文件到容器内(在容器外执行)

docker cp 宿主机文件路径 容器ID:容器内路径 # 容器ID换成容器名也可以

五、部署 nginx Docker

1. 搜索 nginx 的 Docker 镜像(可以去Docker Hub搜索)

docker search nginx

2. 下载 nginx Docker 镜像

docker pull nginx # 默认下载latest

3. 运行测试

docker run -itd --name nginx_test -p 3344:80 nginx # 可通过宿主机的3344端口访问docker的80端口

Docker 使用超详细(入门级)_第1张图片
部署成功!

六、Portainer

Portainer一个轻量级的 Docker 环境管理 UI。

docker run -d -p 9000:9000 --restart=always --name portainer -v /var/run/docker.sock:/var/run/docker.sock -v /Users/lee/dev/docker_file/portainer/data:/data docker.io/portainer/portainer

七、提交(commit)镜像

Docker 镜像都是只读的,当容器启动时,一个新的可写层被加载到镜像的顶部。
命令:

docker commit -m="提交的描述信息" -a="作者" 容器ID 目标镜像名:[TAG]

如:1、启动一个默认的nginx容器;
2、在该容器中做了部分修改;
3、将操作过的 nginx 容器通过 commit 提交为一个镜像。

docker commit -m="nginx_vue" -a="fuhong.gao" a8a71b91e24c nginx_vue:1.0

博主水平有限,若发现文中存在问题,欢迎留言指正!

学习之路永无止境!

你可能感兴趣的:(Docker,docker,ubuntu)