一 注册docker账号
https://hub.docker.com/ 请注册账号及邮箱激活
二 安装
注意:docker只支持linux系统,经排查windows安装的docker原理基本都是通过虚拟机
我用的ubuntu20.0虚拟机
sudo apt update
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
就是这么简单!
接下来验证安装是否成功:
wbw@ubuntu:~$ docker -v
Docker version 20.10.7, build f0df350
wbw@ubuntu:~$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-06-24 20:03:46 PDT; 7h ago
三 启动并使用
3.1 搜索容器
sudo docker search ubuntu
3.2 拉取容器
sudo docker pull ubuntu
3.3 运行容器
docker run -it ubuntu
加 -it 的目的是可以让你通过shell来操作他们。如果不加则是简单的把镜像放到容器并启动
进入shell后我们就可以在容器中进行操作了,比如在该ubuntu容器中新增apache服务器等,此处不做演示了。
(注意:ubuntu初始容器一般需要先apt update / upgrade一下)
3.4 退出容器
//shell中直接exit
exit
四 管理
4.1 容器列表
//活动中的容器
sudo docker ps
//非活动中的容器
sudo docker ps -a
//最新创建的容器
sudo docker ps -l //是字母l (latest)不是数字1
4.2 启动容器
sudo docker start epic_aryabhata //docker start+容器id/容器名称 同时注意与docker run的区别
4.3 停止正在运行的容器
sudo docker stop epic_aryabhata //docker stop+容器id/容器名称
4.4 删除容器
sudo docker rm epic_aryabhata //docker rm+容器id/容器名称
五 docker仓库
5.1 commit容器
sudo docker commit -m 'start' -a "ansirw" epic_aryabhata study/ubuntu
此时用docker images命令可以看到我们多了一个repostry
5.2 本机登录hub
sudo docker login -u ansirw
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
5.3 修改tag
sudo docker tag study/ubuntu ansirw/ubuntu
5.4 远程提交
sudo docker push ansirw/ubuntu
六 补充
6.1 docker run和start的区别
- docker run contain_name 只在第一次运行时使用,将镜像放到容器中,以后再次启动这个容器时,只需要使用命令docker start 即可。相当于执行了两步操作:将镜像放入容器中(docker create),然后将容器启动,使之变成运行时容器(docker start)。
- docker start contain_name 的作用是,重新启动已存在的镜像。也就是说,如果使用这个命令,我们必须事先知道这个容器的ID,或者这个容器的名字,我们可以使用docker ps找到这个容器的信息。
6.2 进入容器
我们不能每一次都docker run -it,因为每一次的执行都会在本地拉取一个镜像容器。
实际上我们这样操作:
wbw@ubuntu:~$ sudo docker start epic_aryabhata
epic_aryabhata
wbw@ubuntu:~$ sudo docker exec -it epic_aryabhata /bin/bash
root@be15c13a58ca:/# ls
bin dev home lib32 libx32 mnt proc run srv tmp var
boot etc lib lib64 media opt root sbin sys usr
root@be15c13a58ca:/#
就这些了,希望大家相互学习,共同进步!