Docker基本命令以及Ubuntu16.04更换源

时间:2024-04-02 14:00:38

百度百科:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

简单地说,docker可以方便地帮我们实现虚拟化、更便捷地实现相关应用的移植,也是个比较热门的趋势。

关于Docker在Windows或Linux平台上的安装网上很多教程,这里就不多说了,直接上实例。

查找镜像,以Ubuntu为例:

sudo docker search ubuntu

Docker基本命令以及Ubuntu16.04更换源


下载镜像,建议直接pull官方版的而不是修改版的(已经pull过了就不再演示了):

sudo docker pull ubuntu


查看docker镜像:

sudo docker images

Docker基本命令以及Ubuntu16.04更换源

可以看到有相应的TAG标签和镜像id。


运行docker镜像:

sudo docker run -it -d --name ubuntu_test -p 8088:80 ubuntu

-d参数为后台运行,--name参数为自定义容器名,-p参数为指定端口映射、后者为容器的端口。

Docker基本命令以及Ubuntu16.04更换源

注意到成功后台运行后会返回一个容易的id,在这里只需要记住前两位即88即可。


查看所有启动的容器(若查看所有的容器则添加-a参数即可):

sudo docker ps

Docker基本命令以及Ubuntu16.04更换源


查看容器信息:

sudo docker inspect id

Docker基本命令以及Ubuntu16.04更换源


查看docker状态:

sudo docker stats id


进入一个正在运行的容器:

sudo docker exec -it ubuntu_test /bin/bash

或sudo docker exec -it id /bin/bash

这里顺便进行Ubuntu源的更换为阿里源,以便后面安装程序的速度更快:

查看Ubuntu版本:

cat /etc/issue

Docker基本命令以及Ubuntu16.04更换源

可知版本是16.04

到相应的目录先备份原来的源:

Docker基本命令以及Ubuntu16.04更换源

接着先更新源以便可以下载安装vim来修改文件:

apt-get update

apt-get install vim

将源文件置空:echo ‘’ > sources.list

vim sources.list

然后将以下Ubuntu16.04的阿里源内容复制进去即可:

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse


接着更新一下:

apt-get update

apt-get upgrade

再下载点东西看看就知道速度确实变快了。


退出容器,然后停止容器运行:

exit

sudo docker stop id

Docker基本命令以及Ubuntu16.04更换源


制作docker镜像:

sudo docker commit id ubuntu_aliyun:1.0

冒号后面的1.0为版本号,要添加的,就像在前面查看镜像images时的TAG。

查看镜像是否创建:

Docker基本命令以及Ubuntu16.04更换源

虽然制作了镜像,但是只能在宿主机使用而不能在其他机器上使用,这时就可以打包镜像:

sudo docker save -o ubuntu_aliyun.tar ubuntu_aliyun:1.0

-o参数是输出的意思

再查看本地文件:

Docker基本命令以及Ubuntu16.04更换源

这样,就只需要将该tar文件发给其他主机,然后解压就可以使用镜像了。


先通过docker ps -a查看已经关闭的容器及其id:

Docker基本命令以及Ubuntu16.04更换源

然后删除容器:

sudo docker rm id

Docker基本命令以及Ubuntu16.04更换源

即删除容器之前必须先关闭容器。


删除镜像:

sudo docker rmi -f id

不加id删除全部


删除所有停止运行的容器:

sudo docker rm $(sudo docker ps -a -q)


宿主机代码在容器中运行:

sudo docker run -it --rm -v /home/cimer/test.py:/tmp/test.py ubuntu:1.0 /usr/bin/python /tmp/test.py


查看容器log:

sudo docker logs -f -t --tail=5 ubuntu

-f同tail的-f一样,-t显示产生的时刻,--tail=5显示最后5行


查看容器进程:

sudo docker top ubuntu


容器的开机自启动:

sudo docker run -it --restart=always ubuntu


至于容器链接和互联等的操作后面再补充~