Docker基础 Debian安装docker
<p></p><div class="toc"><div class="toc-container-header">目录</div><ul><li>如何在Linux深度系统deepin下安装docker<ul><li>介绍</li><li>安装docker</li><li>在ubuntu的docker中运行ubuntu</li><li>在ubuntu的docker中运行centos</li><li>卸载docker ce</li></ul></li></ul></div><p></p><h1 id="如何在linux深度系统deepin下安装docker">如何在Linux深度系统deepin下安装docker</h1>
<p><strong>系统: debian</strong></p>
<p>视频地址<br>
原文章地址</p>
<h2 id="介绍">介绍</h2>
<p>1.Linux 发展出了另一种虚拟化技术:Linux 容器(Linux Containers,缩写为 LXC)</p>
<p>2.Linux 容器不是模拟一个完整的操作系统,而是对进程进行隔离</p>
<p>3.Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口</p>
<p>4.Docker 是服务器----客户端架构。命令行运行docker命令的时候,需要本机有 Docker 服务</p>
<h2 id="安装docker">安装docker</h2>
<p>方法一:</p>
<pre><code class="language-sh">
apt-get install curl #如果没有就先安装curl
curl -sSL https://get.docker.com/ | sh
strace -p 进程id #可以看到进程的运行状态
</code></pre>
<p>如果上面的命令不行,<br>
方法二:<br>
参考连接:<br>
https://www.cnblogs.com/wh4am1/p/10263272.html</p>
<pre><code class="language-sh"># 如果以前安装过老版本,请先卸载以前版本
sudo apt-get remove docker.io docker-engine
# 安装docker-ce与密钥管理与下载相关依赖工具
sudo apt-get install apt-transport-https ca-certificates curl python-software-properties software-properties-common
# 下载并安装密匙
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
如果成功则会返回OK
如果不成功(docker官方在墙外),则使用国内镜像源将上述命令换成
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -
# 验证是否安装成功
`sudo apt-key fingerprint 0EBFCD88 `
</code></pre>
<p>添加源:<br>
<code>sudo vim /etc/apt/sources.list</code></p>
<p>写入:</p>
<p><code>sudo add-apt-repository"deb https://download.docker.com/linux/debian jessie stable"</code></p>
<p>如果要FQ的,请添加下面的源</p>
<p><code>sudo add-apt-repository "deb https://mirrors.ustc.edu.cn/docker-ce/linux/debian jessie stable"</code></p>
<p>安装docker<br>
首先更新软件源<br>
<code>sudo apt-get update</code></p>
<p>然后安装<br>
<code>sudo apt-get install docker-ce</code></p>
<p>安装完后可以查看版本<br>
<code>docker version</code><br>
到此安装成功了。</p>
<p>将docker修改为国内镜像源<br>
在/etc/docker/daemon.json文件中添加下面参数<br>
此处使用的是中国科技大学的docker镜像源</p>
<pre><code>{
"registry-mirrors" : ["https://docker.mirrors.ustc.edu.cn"]
}
</code></pre>
<p>启动</p>
<pre><code>service docker restart
</code></pre>
<p>5.Docker 把应用程序及其依赖,打包在 image 文件里面</p>
<p>6.容器实例,本身也是一个文件,称为容器文件</p>
<pre><code class="language-bash">docker image pull 名称 //拉取image文件 例:docker pull centos
docker image ls//列出所有image
docker image rm //删除 image 文件
docker container run hello-world //运行image文件
docker container start //运行已经存在的容器
docker container kill //终止容器
docker container ls --all//列出所有容器,包括终止的
docker container rm //删除容器
</code></pre>
<p>hello-world:</p>
<p>1.docker run hello-world</p>
<p>2.没有这个image会自动拉取镜像,然后运行起来</p>
<pre><code class="language-bash">root@haima-PC:/home/haima/Desktop# docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
root@haima-PC:/home/haima/Desktop# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest ccc6e87d482b 3 months ago 64.2MB
hello-world latest fce289e99eb9 15 months ago 1.84kB
root@haima-PC:/home/haima/Desktop# docker container ls -all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b4b3169f2b5 hello-world "/hello" 7 minutes ago Exited (0) 7 minutes ago suspicious_archimedes
root@haima-PC:/home/haima/Desktop# docker container ls --all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b4b3169f2b5 hello-world "/hello" 7 minutes ago Exited (0) 7 minutes ago suspicious_archimedes
6506f9a59ddf hello-world "/hello" 12 minutes ago Exited (0) 12 minutes ago condescending_lalande
bf243aabfe11 ubuntu "/bin/bash" 2 months ago Exited (0) 2 months ago
</code></pre>
<h2 id="在ubuntu的docker中运行ubuntu">在ubuntu的docker中运行ubuntu</h2>
<p>2.<code>docker container exec -it 3ce8952ce68d/bin/bash</code>//在运行的容器中执行命令,-i</p>
<h2 id="在ubuntu的docker中运行centos">在ubuntu的docker中运行centos</h2>
<pre><code class="language-bash"># 1.docker pull centos:7
# 2.
root@haima-PC:/home/haima/Desktop# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 470671670cac 3 months ago 237MB
ubuntu latest ccc6e87d482b 3 months ago 64.2MB
hello-world latest fce289e99eb9 15 months ago 1.84kB
</code></pre>
<p>3.给运行的容器映射本地端口</p>
<p>后台启动 centos</p>
<pre><code class="language-bash"> docker container run -itd -p 6666:80 --name centos_test 470671670cac//端口映射外面的6666到内部的80 dc86b7b90238是 IMAGE ID
或者
docker container run -itd -p 6666:80 --name centos_test centos//centos 是REPOSITORY退出后实例不会停止
docker ps //查看正在运行的实例
docker exec -it centos_test /bin/sh //进入后台运行中的centos_test 或者 docker exec -it centos_test /bin/bash
exit //退出
docker stop centos_test //结束后台运行中的container 用容器的名字也可以
docker container ls -a //sj
docker start 容器id //启动容器记录里的容器
docker restart container-id # 重启某个容器
docker container ls -f "status=exited" -q //列表出所有已经退出的历史实例id
docker rm $(docker container ls -f "status=exited -q") //删除已经退出的实例历史
</code></pre>
<p>1)<code>docker commit6e54eac36507centos_image1</code> //提交运行中的容器为一个镜像</p>
<p>2)<code>docker run -d -it -p 6667:80 centos_image1 /bin/bash</code>//从新run新的镜像</p>
<p><img src="https://img2020.cnblogs.com/blog/1441611/202004/1441611-20200422095830423-2136705044.png" alt="" loading="lazy"></p>
<h2 id="卸载docker-ce">卸载docker ce</h2>
<p>$ sudo apt-get purge docker-ce<br>
$ sudo rm -rf /var/lib/docker</p>
</div>
<div id="MySignature" role="contentinfo">
http://www.cnblogs.com/haima/<br><br>
来源:https://www.cnblogs.com/haima/p/12750087.html
頁:
[1]