Ubuntu下安装Docker和使用

1.核心概念

docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
docker客户端(Client):连接docker主机进行操作;
docker仓库(Registry):用来保存各种打包好的软件镜像;
docker镜像(Images):软件打包好的镜像;放在docker仓库中;
docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用

Docker.png

使用Docker的步骤:
1)、安装Docker
2)、去Docker仓库找到这个软件对应的镜像;
3)、使用Docker运行这个镜像,这个镜像就会生成一个Docker容器;
4)、对容器的启动停止就是对软件的启动停止;

2.安装Docker

regan@regan-VPCEH15YC:~$ sudo apt install docker.io

tips:如果安装失败请检查当前系统的内核版本,如果成功忽略此步骤
确保自己的linux系统内核版本高于3.10,并且系统是64位,才能体验Docker哦

regan@regan-VPCEH15YC:~$ uname -ir
4.15.0-54-generic x86_64
regan@regan-VPCEH15YC:~$ systemctl start docker      //启动docker
regan@regan-VPCEH15YC:~$ docker -v        //查看docker版本
Docker version 18.09.7, build 2d0083d
regan@regan-VPCEH15YC:~$ sudo systemctl enable docker  //设置docker开机自启
[sudo] regan 的密码: 
Synchronizing state of docker.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install enable docker

3.安装Mysql 5.5&&删除Mysql

regan@regan-VPCEH15YC:~$ sudo docker search mysql //从docker hub搜索mysql
[sudo] regan 的密码: 
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   8383                [OK]                
mariadb                           MariaDB is a community-developed fork of MyS…   2881                [OK]                
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   624                                     [OK]
percona                           Percona Server is a fork of the MySQL relati…   438                 [OK]                
centurylink/mysql                 Image containing mysql. Optimized to be link…   60                                      [OK]
centos/mysql-57-centos7           MySQL 5.7 SQL database server                   59                                      
mysql/mysql-cluster               Experimental MySQL Cluster Docker images. Cr…   46                                      
deitch/mysql-backup               Automated and scheduled mysql database dumps…   39                                      [OK]
tutum/mysql                       Base docker image to run a MySQL database se…   32                                      
schickling/mysql-backup-s3        Backup MySQL to S3 (supports periodic backup…   28                                      [OK]
....

[docker hub]查看当前所需的mysql版本信息

regan@regan-VPCEH15YC:~$ sudo docker pull mysql:5.5  //下载5.5版本,没有设置默认latest版本
5.5: Pulling from library/mysql
743f2d6c1f65: Pull complete 
3f0c413ee255: Pull complete 
aef1ef8f1aac: Pull complete 
f9ee573e34cb: Pull complete 
3f237e01f153: Pull complete 
03da1e065b16: Pull complete 
04087a801070: Pull complete 
7efd5395ab31: Pull complete 
1b5cc03aaac8: Pull complete 
2b7adaec9998: Pull complete 
385b8f96a9ba: Pull complete 
Digest: sha256:12da85ab88aedfdf39455872fb044f607c32fdc233cd59f1d26769fbf439b045
Status: Downloaded newer image for mysql:5.5
regan@regan-VPCEH15YC:~$ sudo docker images  //查看本地镜像
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               5.5                 d404d78aa797        2 months ago        205MB
regan@regan-VPCEH15YC:~$ sudo docker rmi d404d78aa797   //删除下载的镜像,IMAGES ID
Untagged: mysql:5.5
Untagged: mysql@sha256:12da85ab88aedfdf39455872fb044f607c32fdc233cd59f1d26769fbf439b045
Deleted: sha256:d404d78aa797c87c255e5ae2beb5d8d0e4d095f930b1f20dc208eaa957477b74
Deleted: sha256:8ae7b3986b745c9cea4ea3789277dbf8543d6caed82c23d1ec19637813376df5
Deleted: sha256:6aaf52074d0d6ec3263af5f53b921a91ba3ddbeb2fece1a82ebe1bc5086c3814
Deleted: sha256:cf0a74866630c5d7ed05927cf981ac93b63ba83407872c9c0fbe0486d5f9806e
Deleted: sha256:e06cee897f9eb6bb5769f93cf6cd0285bb773d7e2bad6dfd5592a8682a6e6740
Deleted: sha256:4354e03e5a414adc57def51226d72fa2d117875a6c9665561a7c0fc85d23c46f
Deleted: sha256:647b973285178c7d4bf022c31baac404e0947d37be8e8e85731de8f7ca7e70e6
Deleted: sha256:c75ab456a585af40ca2ec8488164230deb81a1739d868604cb7b6661c24e37b5
Deleted: sha256:50a75eb6a0b2254fe5d96f999cc2087e72d515c93509a816bbd9ffb707a3b1b0
Deleted: sha256:1ae6616333a66450738a72a75c03bdf0236e0425ba0336ac5cdbe470ab6f4a3e
Deleted: sha256:68e318bd9263aedd19d9d73b051a262fa57e2a16f9c81c8b39163601020cd405
Deleted: sha256:6270adb5794c6987109e54af00ab456977c5d5cc6f1bc52c1ce58d

4.常用命令和操作

1).镜像操作

常用命令.png

2).容器操作

regan@regan-VPCEH15YC:~$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tomcat              latest              89481b5d9082        2 days ago          506MB
mysql               5.5                 d404d78aa797        2 months ago        205MB
regan@regan-VPCEH15YC:~$ sudo docker run --name myTomcat -d -p 8080:8080 tomcat:latest  //启动docker容器并取名为myTomcat -d:后台运行 -p 8080(服务器端口):8080(容器端口) 将服务器的端口映射到容器的端口 ; --name myTomcat 可以省略
407aaf30621403bab4f1ed91fe25d5d4dac585f682f4cbff67454a5fc052c84f
regan@regan-VPCEH15YC:~$ sudo docker ps   //查看当前运行的容器
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
407aaf306214        tomcat:latest       "catalina.sh run"   9 seconds ago       Up 7 seconds        8080/tcp            myTomcat
regan@regan-VPCEH15YC:~$ sudo docker stop 407aaf306214  //停止container id:407aaf306214的容器
407aaf306214
regan@regan-VPCEH15YC:~$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
regan@regan-VPCEH15YC:~$ sudo docker ps -a  //查看所有的docker容器,包括已经停止的容器
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                        PORTS               NAMES
407aaf306214        tomcat:latest       "catalina.sh run"   57 seconds ago      Exited (143) 20 seconds ago                       myTomcat
regan@regan-VPCEH15YC:~$ sudo docker start 407aaf306214    //启动container id:407aaf306214的容器
407aaf306214
regan@regan-VPCEH15YC:~$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
407aaf306214        tomcat:latest       "catalina.sh run"   About a minute ago   Up 5 seconds        8080/tcp            myTomcat
...
//执行下面语句,确保已经将container id:407aaf306214的容器停止
regan@regan-VPCEH15YC:~$ sudo docker rm 407aaf306214  //将container id:407aaf306214容器移除
407aaf306214
regan@regan-VPCEH15YC:~$ sudo docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

总结:(默认是在root用户下进行)

1.docker run --name myTomcat -d -p 8080:8080 tomcat:latest :
启动docker容器并取名为myTomcat(具体启动方式参考docker hub 文档)
-d:后台运行
-p 8080(服务器端口):8080(容器端口) 将服务器的端口映射到容器的端口
--name myTomcat 可以省略
Tips:如果映射端口失败,请关闭防火墙,或者设置端口开放

  1. docker ps :查看运行中的容器 参数-a 查看所有的容器(包括已经停止)

3.docker stop 容器id :停止
4.docker start 容器id :启动
5.docker rm 容器id :删除
6.docker logs 容器id :查看容器的日志
点击查看官方命令文档

参考博客

Ubuntu系统下载安装启动Docker
【 全干货 】5 分钟带你看懂 Docker !

推荐网站

Docker中文社区

Docker入门教程

菜鸟教程-docker教程

你可能感兴趣的:(Ubuntu下安装Docker和使用)