--- title: docker date: 2020-08-27 updated: 2021-09-25 tags: docker categories: docker keywords: docker description: docker中安装Mysql top_img: https://i.loli.net/2021/09/30/xQP2JVs3I9Zt1le.jpg comments: true cover: https://i.loli.net/2021/09/30/xQP2JVs3I9Zt1le.jpg copyright: true copyright_author: xzh copyright_author_href: http://xxzhx.cn copyright_url: http://xxzhx.cn copyright_info: 著作权归作者所有。商业转载请联络作者获得授权,非商业转载请注明出处。 --- # 1、docker的安装 ## 1.1、安装工具 `sudo yum install -y yum-utils device-mapper-persistent-data lvm2` ``` device-mapper-persistent-data lvm2是干嘛的? docker要想数据存储就必须要安装这两个,这两个是为了docker做数据存储用的。 ``` ## 1.2、添加源为国内 `sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo` ## 1.3、更新安装Docker-CE `sudo yum makecache fast` `sudo yum -y install docker-ce` ## 1.4、启动验证 `sudo service docker start` `docker version` # 2、配置阿里镜像加速器 ## 2.1、去阿里搜索`容器镜像服务` ![image-20200816150233760](/images/image-20200816150233760.png) ![image-20200816150338205](/images/image-20200816150338205.png) ## 2.2、执行命令 按照上面的命令输入 ``` sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xxx.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker ``` # 3、镜像的安装 ## 3.1、拉取镜像 `docker pull xxx` 例:`docker pull tomcat` ``` 完整命令是:docker pull 镜像名<:tags> 从远程仓库拉取镜像。如果没写:tags则代表是latest版本 ``` ## 3.2、查看镜像 `docker images` ## 3.3、启动容器 `docker run xxx:版本号(最新版可省略)` 例:`docker run tomcat` `docker run tomcat:latest` ``` 完整命令是:docker run 镜像名<:tags> 这里没指定tag就代表是latest ``` `docker run -d --name xxx -p port1:port2 xxx` 例:`docker run -d --name tomcat1 -p 8080:8080 tomcat` ``` -d:后台启动 -p:端口映射 --name:设置容器名称 ``` ## 3.4、查看容器信息 查看启动的容器:`docker ps` 查看所有容器:`docker ps -a` ## 3.4、删除容器 `docker rm xxx` 例:`docker rm 87f2b3a10855` ``` 删除需要用容器的ID 不能用名称 ``` ![image-20200816153100668](/images/image-20200816153100668.png) ## 3.5、进入容器里面 `docker exec-it xxx bash` 例:`docker exec -it tomcat bash` `docker exec -it 87f2b3a10855 bash` ``` 进入容器可以使用名称和容器ID都可以进入 ``` 退出:ctrl+p+q ## 3.6、关闭/重启容器 关闭:`docker stop xxx` 例:`docker stop 87f2b3a10855` 重启:`docker restatr xxx` 例:`docker restatr 87f2b3a10855` # 4、常用命令总结 | 解释 | 命令 | | :------------------------------: | :----------------------------------------------------------: | | docker pull 镜像名<:tags> | 从远程仓库拉取镜像到本地仓库 | | docker images | 查看本地仓库所有镜像 | | docker run 镜像名<:tags> | 基于镜像创建容器并启动,可以添加-d port1:port2参数,port1:宿主机端口,port2:容器端口, -d参数代表后台运行 | | docker ps | 查看当前所有启动的容器 | | docker ps -a | 查看本地所有容器,包含未启动的,删除容器的时候可用来查询容器id | | docker start/stop/restart 容器id | 启动/停止/重启容器 | | docker rm <-f> 容器id | 删除<-f:强制删除>容器,运行中的容器不能删除,-f可以强制 | | docker rmi <-f> 镜像名称 <:tags> | 删除<强制删除>镜像,镜像有容器在启动,不能被删除,-f可以强制 | | docker exec [-it] 容器id 命令 | 进入容器主目录,exec:在对应容器中执行命令,-it:采用交互方式执行命令 |