Docker之鏡像操做

Docker之鏡像操做

一、Docker配置鏡像加速python

能夠去下面的阿里雲上註冊帳號並登陸,就能獲取阿里的鏡像加速了linux

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

 

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

二、Docker導入本地鏡像docker

有時候咱們本身在本地或者其它小夥伴電腦上拷貝了一份鏡像,有了這個鏡像以後,咱們能夠把本地的鏡像導入,使用docker import 命令。json

例如這裏下載了一個 alibaba-rocketmq-3.2.6.tar.gz 鏡像文件,使用下列命令導入:centos

複製代碼
[root@rocketmq-nameserver4 dev]# cat alibaba-rocketmq-3.2.6.tar.gz | docker import - rocketmq:3.2.6(鏡像名本身定義)
[root@rocketmq-nameserver4 dev]# docker images
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
rocketmq                     3.2.6               53925d1cf9f0        23 seconds ago      14MB
my/python                    v1                  36b6e288656c        2 days ago          281MB
my/centos_width_python       v1.0.1              36b6e288656c        2 days ago          281MB
my/sinatra                   v2                  8ba1d6a3ce4e        2 days ago          453MB
hello-world                  latest              725dcfab7d63        4 months ago        1.84kB
複製代碼

能夠看到導入完成後,docker爲咱們生成了一個鏡像ID,使用docker images也能夠看到咱們剛剛從本地導入的鏡像。tomcat

注意鏡像文件必須是tar.gz類型的文件。bash

[root@rocketmq-nameserver4 dev]# docker run -it rocketmq:3.2.6 /bin/bash ##啓動導入本地鏡像,會報以下異常
docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory".tcp

解決方案: 暫時無解,有知道的兄臺請在下面留言,在此先謝了。post


三、保存鏡像
咱們的鏡像作好以後,咱們要保存起來,以供備份使用,該怎麼作?使用docker save命令,保存鏡像到本地。阿里雲

[root@rocketmq-nameserver4 dev]# docker save -o rocketmq.tar rocketmq ##-o:指定保存的鏡像的名字;rocketmq.tar:保存到本地的鏡像名稱;rocketmq:鏡像名字,經過"docker images"查看
[root@rocketmq-nameserver4 dev]# ll 


rocketmq.tar爲剛保存的鏡像

四、載入鏡像
咱們有了本地的鏡像文件,在須要的時候可使用docker load將本地保存的鏡像再次導入docker中。
docker load --input rocketmq.tar 或 docker load < rocketmq.tar

五、刪除鏡像
有些鏡像過期了,咱們須要刪除。使用以下的命令:docker rmi -f image_id ##-f:表示強制刪除鏡像;image_id:鏡像id

六、修改鏡像名稱與標籤

[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
pujh/centos         tomcat-centos       70ff7873d7cd        About an hour ago   612 MB docker.io/centos latest 9f38484d220f 11 days ago 202 MB [root@localhost ~]# docker tag 70ff7873d7cd my_centos:tomcat-centos [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE my_centos tomcat-centos 70ff7873d7cd About an hour ago 612 MB pujh/centos tomcat-centos 70ff7873d7cd About an hour ago 612 MB docker.io/centos latest 9f38484d220f 11 days ago 202 MB [root@localhost ~]# docker rmi 70ff7873d7cd Error response from daemon: conflict: unable to delete 70ff7873d7cd (cannot be forced) - image is being used by running container 70859e710147 [root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 70859e710147 70ff "/bin/sh -c '/root..." About an hour ago Up About an hour 0.0.0.0:8090->8080/tcp dazzling_hopper [root@localhost ~]# docker stop 70859e710147 [root@localhost ~]# docker rm 70859e710147 [root@localhost ~]# docker rmi 70ff7873d7cd [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE my_centos tomcat-centos 70ff7873d7cd About an hour ago 612 MB docker.io/centos latest 9f38484d220f 11 days ago 202 MB
相關文章
相關標籤/搜索